質問

ActiveMQで開始したTCPからTCPへのルートを示す簡単なデモを取得しようとしています。 activemq.xml構成ファイルのラクダコンテキストでエンドポイントとルートをコーディングしています。

<camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">

    <package>org.myorg.codec</package>

    <endpoint id="listener_A" uri="mina:tcp://localhost:42000?sync=false&amp;textline=true"/>
    <endpoint id="listener_B" uri="mina:tcp://localhost:42001?sync=false&amp;textline=true"/>

    <route>
        <from uri="activemq:listener_A"/>
        <to uri="activemq:listener_B"/>
    </route>
    <route>
        <from uri="activemq:listener_B"/>
        <to uri="activemq:listener_A"/>
    </route>
</camelContext>

これが機能しない理由は何ですか?

AMQサーバーがリスニングポートを開いていないようです。

編集:ここでの目的は、単純なデモンストレーションとして、2つのtelnet端末(AおよびB)でActiveMQに接続し、メッセージキューサーバーを通じてメッセージを相互にルーティングできるようにすることです。後で、コンテンツに基づいてフィルタリングまたはルーティングを試みる場合があります。

役に立ちましたか?

解決

私はあなたの設定ファイルに少し混乱しています。正確に何をしようとしていますか?

MINAを使用するために2つのエンドポイントを定義しました(ActiveMQはまったく使用しません)。 ActievMQキューlistener_Aからlistener_Bへのルートを使用し、listener_Bからlistener_Aへのルートを使用しています(再帰ループ)。

おそらく、やりたいことを説明し始めたら、XMLがどのように見えるかを理解できるでしょう。

定義したエンドポイントのみを参照したい場合は、 uri =&quot; ...&quot; ではなく、 ref =&quot; name&quot; 属性を使用してください。 >。

e.g。

<route>
  <from ref="listener_A"/>
  <to ref="listener_B"/>
</route>

これらすべてのこと-あなたは良くなる傾向があります。 Camelユーザーフォーラム

を介したCamelの高速サポート

他のヒント

詳細:

エンドポイントがmina tcp接続として定義されている場合、「activemq :: listener_A」として識別できません。

<endpoint id="listener_A" uri="mina:tcp://localhost:42000?sync=false&amp;textline=true"/>   

これは間違っています:

  <from uri="activemq:listener_A"/>  

これは動作します:

  <from ref="listener_A"/>  

これも:

  <from ref="mina:tcp://localhost:42000?sync=false&amp;textline=true"/>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top