問題タブ [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 投票する
1 に答える
5650 参照

java - Apache Servicemix 4のOSGiバンドル間で構成ファイルを共有しますか?

SMX4の2つ以上のバンドル間で構成を正常に共有できた人はいますか?私が探しているのはこれです:

  1. に単一のファイルがある$SMX_HOME/etc/myconfiguration.cfg
  2. この構成を「利用可能」にして、Springdmを使用するOSGi構成管理者を介してバンドルに注入できるようにします。

次に、次のようなものをBeanに注入できます。

単一のバンドルの場合、それはすべて桃色です。私が探しているのは、これを一度定義してから、バンドルのセットのプロパティと同じ構成ファイルを再利用できるようにする方法です。現在、複数のバンドルがあり、それぞれに独自の構成インスタンス(永続ID)があるため、データベース接続やJava JMSなどを必要とする各バンドルでは、すべてのファイルで構成を繰り返す必要があります。

現在、OSGiコンテナーとしてApacheFelixを使用しているApacheServicemix4を使用しています。

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

maven - OSGIバンドルから内部sun.securityクラスにアクセスするにはどうすればよいですか?

内部sun.securityクラスにアクセスするには、MavenビルドまたはJavaランタイムにどのオプションを追加する必要がありますか?OSGIバンドルにはAkamaiのJavaコードがあり、内部のsun.securityクラスにアクセスする必要があります。Apache Felixコンソールは、OSGIバンドルのエラーを出します。

内部sunクラスの使用に関するこの記事を見ましたが、javacのみを参照しています。私のMavenビルドは次のように始まります:

0 投票する
5 に答える
16192 参照

osgi - OSGi 機能のアンインストールは機能しますが、バンドルは引き続きインストールされます

編集:この質問を最新の情報で更新しました...

依存する機能に対して "features:uninstall" コマンドを連続して実行すると問題が発生します。OSGi は「状態変更が進行中です...」と応答しますが、他の要求を受け入れると、問題が発生します。

奇妙なことに、これにより機能のアンインストールは成功しますが、バンドルのアンインストールは失敗します。アンインストール リクエストを適切に並べ替え、ステップ間に遅延を追加することで、この問題に対処していますが、より堅牢なソリューションを期待しています。

示唆されているように、ステップの間に「osgi:refresh」を追加しようとしました...同じ動作です。「パッケージの更新」がまだ実行されていることを検出して、後続のリクエストなどを遅らせる別の方法はありますか?

詳細はこちら...

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

osgi - OSGI LogService.log メソッドが機能しない!

LogHelper クラスを書き込んでいるときに、最も奇妙なバグがあります。

私はorg.osgi.service.log.LogServiceを使用しています(Apache Felix 実装を使用)。

今私は呼び出すことができます:

問題はありませんが、例外のあるものを使用しようとすると:

Eclipse は呼び出しが間違っていることを強調表示し、次の奇妙なエラー メッセージを表示します。

タイプ org.osgi.framework.ServiceReference を解決できません。必要な .class ファイルから間接的に参照されている

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

osgi - felix のバンドル レベルを変更しますか?

バンドルを展開するためだけに、初期バンドル レベルを設定する方法を知っています。

しかし、既存のバンドルのレベルを変更するにはどうすればよいですか? bundlelevel のヘルプは次のように述べています。

「Bundle[]」引数が何であるかわかりません。bundle_id と [bundle_id]、さらにはバンドル名だけを試しました。

例を示しましょう。バンドル 5 (bookshelf api) のレベルを 1 から 2 に変更したいとします。

私は次のことを試しました:

どんな助けでも大歓迎です。

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

maven - OBRリポジトリの相対パス?

MavenでApacheFelixを使用する場合、 OBRリポジトリへの相対パスを指定することはできますか?

たとえば、maven-bundle-pluginを構成している場合、構成セクションには次のようになります。

流通管理についても同じことが言えます。

Felix Javaプロジェクト(コンテナー)がC:/ Users / blahにある場合、相対パス「obr-repo /releases」でOBRを指定できますか?

ありがとう。

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

osgi - PomファイルのApache Felixにjarを追加しますか?

Apache Felix のバンドルに jar を追加するにはどうすればよいですか?

私は maven-bundle-plugin で maven を使用して、OBR でバンドルを管理しています。

しかし、jar の POM 内で依存関係を宣言する場所がわからないため、maven はそれを最終的なバンドルに正しくコンパイルします。

これは私のプラグインがpomでどのように見えるかです:

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

scala - OSGIコンテナのScala?

バンドルを Scala でコーディングしてから OSGI コンテナーにデプロイするにはどうすればよいですか?

最初に「Java」にコンパイルしますか?それとも、scala を OSGI に直接デプロイして、何らかのバンドルを使用してそれを認識することができますか?

どんな指針も素晴らしいでしょう。現在、osgi コンテナーとして Apache Felix を使用していますが、一般的な概念を簡単に説明するだけで十分です。

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

java - 負荷分散拡張機能を使用した OSGi エクステンダー パターン

次のシナリオを実装したいと思います。

エクステンダーは拡張機能を使用しますが、拡張機能は自分のタイプによってグループ化されます。例: Extender = Vendor および Extensions = HotDogSeller1、HotDogSeller2、PopcornSeller。私のポイントは、クライアント (顧客) が HotDogs または Popcorns のいずれかを購入したいということですが、彼は負荷の少ない HotDogSeller (より小さなキュー) を選択します。

私は OSGi を初めて使用するので、これを実装するためのベスト プラクティスは何ですか? iPojo で Apache Felix を使用できると思います (それはエクステンダー パターンです)。これには 2 つの問題があります。

  • 同じバンドルを 2 回インストールする必要があります (ホットドッグの実装では、それぞれに独自のキューの長さがあります)
  • どういうわけか、同じ種類 (ホットドッグ、ポップコーン) のバンドルをグループ化します。これは、HotDogSeller1 と HotDogSeller2 を区別するための「番号」などのキーを持つバンドルのプロパティを作成することで実行できます)。
  • 0 投票する
    1 に答える
    1028 参照

    java - PAX-URL:Felixの起動時に「プロトコルはサポートされていません」

    私はPAX-URLを使用して、EclipseからFelixベースのプロジェクトを起動しています。バンドルを事前に梱包する必要がないように、アセンブリプロトコルを使用しています。

    プロジェクトでは、felix.jarと、felix.auto.start.1 = assembly:foo / bar / classesを含むconfig.propertiesを使用してfelixを起動し、解凍したバンドルの1つを起動します。

    問題は、felixがその設定ファイルの読み取りを完了するまでpax-urlプロトコルを認識しないため、「不明なプロトコル:アセンブリ」エラーが発生することです。

    私は何が間違っているのですか?起動時にすでにpax-urlをロードするようにFelixに指示することは可能ですか?

    ありがとう!


    同じ問題は この質問によって解決されます。質問の方法によって、解決策を探す別の方法が提供されるため、この質問を重複としてマークすることはしません。先端をありがとうビョルン!