Frage

Ich versuche, eine einfache Demo zu erhalten begonnen mit ActiveMQ, die einem TCP TCP Route demonstrieren. Ich entwickle die Endpunkte und Routen in einem Kamel Kontext in meiner activemq.xml Konfigurationsdatei.

<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>

Jede Idee, warum funktioniert das nicht?

Der AMQ Server scheint nicht ein Listening-Port zu öffnen.

Edit: Die Absicht hier, als eine einfache Demonstration, ist zu ActiveMQ mit zwei Telnet-Terminals (A und B) und der Lage sein, um Nachrichten von einem zum anderen durch die Message Queue-Server zu verbinden. Später kann ich versuchen, Filtern oder Routing basierend auf dem Inhalt.

War es hilfreich?

Lösung

Ich bin ein bisschen von der Konfigurationsdatei verwirrt. Was genau wollen Sie tun?

Sie haben zwei Endpunkte definiert für die Verwendung von MINA (die ActiveMQ wird nicht verwenden); dann werden unter Verwendung einer Route von einer Warteschlange ActievMQ listener_A listener_B dann listener_B zu listener_A (die eine rekursive Schleife ist).

Vielleicht, wenn Sie anfangen zu beschreiben, was Sie können wir herausfinden, tun wollen, was die XML aussehen sollte.

Übrigens, wenn Sie gerade definiert haben Sie beziehen möchten, Endpunkten, verwenden Sie die ref = "name" Attribut anstatt uri = "..." .

z.

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

Alles wird gesagt - Sie sind in der Regel besser und schnelle Unterstützung auf Kamel über die Camel User Forum

Andere Tipps

Mehr dazu:

Wenn der Endpunkt als mina TCP-Verbindung definiert ist, kann es nicht als identifiziert werden „activemq :: listener_A“

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

das ist falsch:

  <from uri="activemq:listener_A"/>  

das funktioniert:

  <from ref="listener_A"/>  

so tut dies:

  <from ref="mina:tcp://localhost:42000?sync=false&amp;textline=true"/>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top