0

Fabric8では、ActiveMQ 接続を取得するための推奨される方法はmq -fabric profileを使用することです。これは、Declarative Services を介して ActitveMQConnection オブジェクトを提供します。 この例は GitHubで提供されており、問題なく動作します。

ただし、Declarative Services と Blueprint Services が Fabric8 (または実際には任意の OSGI 環境) で連携する方法をまだ見つけていないため、私の OSGI アプリケーションは DS または blueprint を使用する必要があります。両方を混在させることはオプションではないようです。

ブループリントを使用したい場合 (私はそうしています)、まず Web UI からブローカーを作成し、コンソールに戻ってcluster-listと入力し、Fabric8 がブローカーに割り当てたポートを見つけてから、接続を構成する必要があります。次のような青写真:

<bean id="activemqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
  <property name="brokerURL" value="tcp://mydomain:33056" />
  <property name="userName" value="admin" />
  <property name="password" value="admin" />
</bean>

これは機能しますが、可能な限り避けたい手動の手順がいくつか含まれているため、展開に適しているとは言えません。主な問題は、そのポートがどうなるかわからないことです。設定ファイルをくまなく調べましたが、どこにも見つかりませんでした。

設計図を介して Fabric8 で ActiveMQ 接続を取得するためのよりクリーンで自動化された方法はありますか? それとも宣言型サービスを使用する必要がありますか?

4

1 に答える 1