Domanda

Sto cercando di avviare una semplice demo con ActiveMQ che mostrerà una route da TCP a TCP. Sto codificando gli endpoint e le rotte in un contesto cammello nel mio file di configurazione 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>

Hai idea del perché questo non funziona?

Sembra che il server AMQ non stia aprendo una porta di ascolto.

Modifica: l'intento qui, come semplice demonstation, è connettersi ad ActiveMQ con due terminali telnet (A e B) ed essere in grado di instradare i messaggi l'uno dall'altro attraverso il server della coda dei messaggi. In seguito, potrei provare a filtrare o instradare in base al contenuto.

È stato utile?

Soluzione

Sono un po 'confuso dal tuo file di configurazione. Cosa stai cercando di fare esattamente?

Sono stati definiti 2 endpoint per l'utilizzo di MINA (che non utilizzerà affatto ActiveMQ); quindi stai utilizzando una route da una coda ActievMQ listener_A a listener_B quindi listener_B a listener_A (che è un ciclo ricorsivo).

Forse se inizi a descrivere cosa vuoi fare, possiamo capire come dovrebbe apparire l'XML.

Per inciso, se si desidera solo fare riferimento agli endpoint definiti, utilizzare l'attributo ref = " name " anziché uri = " ... " .

per es.

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

Detto questo, tendi a migliorare & amp; supporto più veloce su Camel tramite il Forum degli utenti Camel

Altri suggerimenti

Altre informazioni al riguardo:

Quando l'endpoint è definito come una connessione mina tcp, non può essere identificato come " activemq :: listener_A "

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

questo è sbagliato:

  <from uri="activemq:listener_A"/>  

funziona:

  <from ref="listener_A"/>  

così:

  <from ref="mina:tcp://localhost:42000?sync=false&amp;textline=true"/>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top