Question

J'essaie de lancer une démonstration simple avec ActiveMQ qui montrera une route TCP à TCP. Je code les points de terminaison et les routes dans un contexte de chameau dans mon fichier de configuration 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>

Avez-vous une idée du pourquoi cela ne fonctionne pas?

Le serveur AMQ ne semble pas ouvrir de port d'écoute.

Éditer: l’intention ici, en tant que simple station de démonstration, est de se connecter à ActiveMQ avec deux terminaux telnet (A et B) et de pouvoir acheminer des messages de l’un à l’autre via le serveur de file d’attente. Plus tard, je pourrai essayer de filtrer ou de router en fonction du contenu.

Était-ce utile?

La solution

Je suis un peu dérouté par votre fichier de configuration. Qu'est-ce que vous essayez de faire exactement?

Vous avez défini 2 points de terminaison pour utiliser MINA (qui n'utilisera pas ActiveMQ du tout); vous utilisez ensuite une route allant d'une file d'attente ActievMQ listener_A à listener_B, puis listener_B à listener_A (qui est une boucle récursive).

Peut-être que si vous commencez à décrire ce que vous voulez faire, nous pourrons comprendre à quoi le XML devrait ressembler.

Incidemment, si vous souhaitez simplement faire référence aux points de terminaison que vous avez définis, utilisez l'attribut ref = "name" plutôt que uri = "...". .

par exemple

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

Tout cela étant dit - vous avez tendance à être meilleur & amp; assistance plus rapide sur Camel via le Forum des utilisateurs de Camel

Autres conseils

Plus d'informations à ce sujet:

Lorsque le point de terminaison est défini en tant que connexion mina tcp, il ne peut pas être identifié en tant que "activemq :: listener_A".

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

c'est faux:

  <from uri="activemq:listener_A"/>  

cela fonctionne:

  <from ref="listener_A"/>  

ainsi fait:

  <from ref="mina:tcp://localhost:42000?sync=false&amp;textline=true"/>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top