2017-10-23 6 views
0

私はActiveMQを初めて使い、ActiveMQネーミングサービスのしくみを理解しようとしています。 正しく理解していれば、activeMQブローカーを使用できるようにするには、JNDIを渡してconnectionFactoryと宛先(トピック、キュー)を取得する必要があります。ActiveMQ JNDIのしくみ

ActiveMQは、jndi.propertiesファイルの変数のjava.naming.provider.urlで定義された名前付けサービスを提供します。 クラス・コードの読み取りActiveMQInitialContextFactoryActiveMQConnectionFactory変数java.naming.provider.url(Context.PROVIDER_URL)が、JMSブローカの場所を特定してネーミング・サービスを特定しないBrokerURLの値を開始することに気付きました。

次のように私の質問は以下のとおりです。

  1. は正しい私の文章と私の推論はありますか?
  2. ActiveMQは実際にネーミングサービスの実装を提供していませんか?
  3. activeMQの場合、JNDIによって管理されるオブジェクトは実際には 作成されたプロバイダ側ではありませんか?むしろ、それらはJMSクライアント側で作成されますか?

答えて

0

私の知る限り、ActiveMQはサーバー側のネーミングサービスを提供していません。つまり、特定のポートでリッスンするサービスはなく、名前クエリに応答するだけです。通常、JNDIルックアップを使用してActiveMQブローカまたは送信先を検索する場合、これはアプリケーションサーバーコンテキストで行われます。アプリケーションサーバーでは、JNDIインフラストラクチャが提供されます。

アプリケーションサーバーのコンテキストの外では、開発者は通常、ActiveMQConnectionFactoryをインスタンス化し、そのプロパティをJNDIを使用せずに直接設定するという経験があります。

関連する問題