問題タブ [apache-felix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
231 参照

osgi - osgi:バンドル内に部分的に存在するインポートパッケージ

2つのバンドルAとBに存在するパッケージXYZがあります。

バンドルBはパッケージXYZをエクスポートしますバンドルAはパッケージXYZをインポートし、自分のクラスClass1が見つからないという例外を受け取ります。それは機能するはずですか?

私はfelixでglassfish3.1を使用しています

0 投票する
1 に答える
870 参照

osgi - jsafeJCEFIPS.jar OSGi を使用する

jsafeJCEFIPS.jar OSGi を使ってみた人はいますか? jar は署名されているため、バンドルに変換できません。バンドルに jar として埋め込もうとしましたが、JsafeJCE オブジェクトのインスタンスを作成しようとすると、常に java.lang.SecurityException: "JsafeJCE provider is disabled, a FIPS 140 required self-integrity check failed" がスローされます。

JsafeJCE 自体の整合性 (署名など) を正常にチェックできないようです。jsafeJCE.class.getProtectionDomain を出力します。これは (inputstream:bundle-name.jar ) です。

jsafeJCE を OSGi で動作させる方法については、Apache Felix を使用しています。

前もって感謝します!

0 投票する
1 に答える
721 参照

osgi - Apache Felix のデプロイがうまくいかない

Apache Felix のobr deployコマンドを使用して、特定のバージョンのバンドルをデプロイしようとしています。

File Install のバージョン 3.1.10 をインストールしたいのですが、残念ながらdeployはバージョンを認識しません (@ を使用して指定する場合):

セミコロンを試しても機能しません。

誰が何が起こっているのか知っていますか?

PS: "File Install 3.0.2" をインストールし、"3.1.10" の jar をロード ディレクトリに配置して (別の "File Install" バンドルをインストールする)、"3.0.2" を削除した場合のボーナス ポイントバージョン!残念ながら、「ファイルのインストール」は常に中断されるため、これは機能しません。

0 投票する
1 に答える
1868 参照

java - OSGi バンドル全体のサービスにアスペクトを追加する

サービスを公開 (エクスポート) する OSGi バンドル (私が所有していないため、変更できません!) がEchoServiceあり、このサービスのメソッドにアスペクトをアタッチしたい (前処理/後処理を実行するため)その周りに)。これらは Apache Felix コンテナーにデプロイされます。

私は独自の OSGi バンドル (明らかに をインポートするEchoService) を作成し、標準の Spring AOP を使用して Spring の側面をそれにアタッチしました。ただし、アスペクトが接続されておらず、インターセプターが呼び出されていないようです。

これは、自分のバンドルに属していないサービスを傍受しようとしているためだと思われます (これは合理的に思えます)。あれは正しいですか?どうすればこれを克服できますか?

私のインターセプター/アスペクトは次のようになります。

0 投票する
2 に答える
3498 参照

ant - BND を使用してサードパーティの JAR を埋め込む

ANT と従来の BND ツールを使用して構築された OSGi バンドルがあります。私のバンドルは内部でライブラリ (JAR) を使用していますが、これは私の OSGi コンテナ (Apache Felix) 内のバンドルとしては利用できません。そのため、実行時にアクセスできるように、 bundle 内に埋め込もうとしています。

ANT+BND を使用してそのようなライブラリ/JAR を埋め込むにはどうすればよいですか? (注:MAVENを使用することはできません。これを使用すると、はるかに簡単になる可能性があります)

0 投票する
1 に答える
1011 参照

java - どうすればManagedService構成をすぐに取得できますか?

Felix構成管理ライブラリを使用して、OSGiサービスの構成ファイルを読み取って適用しています。私が構成しているサービスの多くはサードパーティ(org.ops4j.pax.web.pax-web-jettyorg.ops4j.pax.url.mvnなどBundleActivator)であり、宣言型サービスではなく単純なサービスを使用しています。これらのサービスはそれぞれ2回初期化されることがわかりました。

  1. アクティベーション時に、彼らは呼び出しますManagedService#updated(null)、そして
  2. 非常に短い間、Felixは非同期ConfigurationManager.UpdateThreadで呼び出します。ManagedService#update(non-null)

構成を適用するためのこの遅延は嫌いです。固有の競合状態が原因で、不規則な障害が発生します。この問題を回避するために構成を同期的に適用できる代替のCM実装はありますか?または、Felixを同期させることはできますか?(ソースコードとManagedService javadocを調べると、いいえのように見えます。)

0 投票する
1 に答える
361 参照

osgi - SIP Communicator (Jitsi) を別の既存の osgi フレームワークにデプロイし、osgi コンソールでそれを制御できます

SIP Communicator (Jitsi) を使用しています。felix を起動し、そのバンドルを展開します。sipCom を閉じると、すべてのバンドルがアンインストールされ、felix フレームワークも閉じます。これでバンドルをデプロイしましたが、sip_communicator を閉じた後、felix が動作し、バンドルが停止しないようにする必要があります。これについては、以下の1つのアイデアですが、実装方法がわかりません:

新しい felix osgi を起動し、バンドルを展開してから、SIP_Communicator のバンドルを展開します。sipcom を閉じるには、SIP_Communicator のバンドルを停止します。

問題: SIP Communicator を制御できる felix に展開する必要があるバンドルがわかりません。

0 投票する
2 に答える
1404 参照

java - Bundle.loadClass()は、フィールドまたはメソッドのないクラスインスタンスを返します

プログラムでOSGiフレームワークを作成し、それを使用してバンドルをロードし、そのバンドルからクラスをロードしたいと思います。電話Bundle.loadClass()をかけるClassと、すべてのfields \ methods\constructorフィールドがnullに設定されたインスタンスが表示されます。名前しかありません。パブリックメソッドなどにアクセスできません。EquinoxとFelixの両方を試しましたが、同じ結果になりました。

バンドルMANIFEST

フレームワークのセットアップ:

バンドルの読み込み:

ActivatorClassインスタンスにはコンストラクター参照が含まれていますが、パブリックメソッドは含まれていません。ありpublic void start(BundleContext c)ますpublic void stop(BundleContext c)

どうすれば正しいものをロードできますClassか?私は何が間違っているのですか?助けてくれてありがとう。

0 投票する
4 に答える
1137 参照

java - スイングアプリケーションとosgifelix

非常に単純なバンドルを作成しました。

マニフェストファイルを編集しました:

私はこれらすべてのものをjar処理し、felixを起動し、次のようにしました。start file:testosgi.jar

エラーは発生しませんが、機能しません。何が起こっているかについての詳細な情報を取得する方法はありますか?

0 投票する
1 に答える
147 参照

java - felixexthttpserviceはCookieのセッションパスを設定します

Felixosgiコンテナで実行しているWebアプリケーションがあります。extHttpServiceの実装としてjettyを使用しています。現在、Cookieを「/」ルートパスに書き込んでいます。他のWebアプリケーションとの競合を引き起こしているため、これを変更したいと思います。桟橋のドキュメントを見ると、次のプロパティを設定する必要があるようです。

org.mortbay.jetty.servlet.SessionPath

ただし、osgi経由でExtHttpServiceを使用してこれを設定する方法を見つけることができません。jetty.xmlファイルを作成し、これをconfig.propertiesに追加して、サーブレットを登録するための呼び出しでプロパティとして設定してみました。

誰かがこれを設定する方法を知っていますか?

ありがとう、