1

次のようなルートを使用して、ActiveMQ インスタンスとの間でメッセージをパブリッシュ/サブスクライブする Camel ベースのアプリがあります。

<from uri="activemq:myQueue" />

また:

<to uri="activemq:someOtherQueue" />

アプリを誤って「同期モード」に設定したかどうかを判断しようとしています。これは、次のいずれかの場合に発生します。

  • ActiveMQConnectionFactory#setAlwaysSyncSend真です。また
  • MessageProducer」は「永続的」に設定されています

Camelさんなら、通常はこれらのプロパティを手動で設定していると思います。ここで ActiveMQ クライアントとして Camel を紹介しますが、これらのプロパティの値を見つける方法/場所がわかりません。何か案は?前もって感謝します。

4

1 に答える 1

1

これらの値は、ActiveMQ コンポーネントに渡される接続 URI に設定することにより、コンポーネントを追加するときに構成します。Camel の Web サイトにある このドキュメントは、その方法を示しています。

ActiveMQ クライアントは、場合によっては同期ではなく非同期を使用することを選択することで、送信のパフォーマンスを向上させるためにいくつかの独自の最適化を行います。これはここに文書化されており、読む価値があります。

したがって、次のようなコードを使用してコンポーネントを追加するときに、コンポーネントを構成します。

camelContext.addComponent("activemq", activeMQComponent("tcp://localhost:61616?jms.alwaysSyncSend=true"));

ActiveMQConnectionFactory 構成オプションの詳細はこちらに記載されており、トランスポートに適用可能なオプションはこちらにあります

于 2013-03-12T10:35:36.740 に答える