Pergunta

Eu estou tentando obter uma simples demonstração começou com ActiveMQ que irá demonstrar uma TCP para encaminhar TCP. Estou codificação dos endpoints e rotas em um contexto de camelo no meu arquivo de configuração 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>

Qualquer idéia de por que isso não funciona?

O servidor AMQ não parece ser a abertura de uma porta de escuta.

Edit: A intenção aqui, como um demonstation simples, é para se conectar ao ActiveMQ com dois terminais Telnet (A e B) e ser capaz de encaminhar mensagens de uma para outra através do servidor de fila de mensagens. Mais tarde, pode tentar filtrar ou roteamento baseado em conteúdo.

Foi útil?

Solução

Estou um pouco confuso com o seu arquivo de configuração. O que exatamente você está tentando fazer?

Você definiu 2 pontos finais para usar MINA (que não vai usar ActiveMQ em tudo); então você está usando uma rota a partir de um ActievMQ fila listener_A para listener_B então listener_B para listener_A (que é um loop recursivo).

Talvez se você começar a descrever o que você quer fazer, podemos descobrir o que o XML deve ser parecida.

A propósito, se você quer apenas para se referir a endpoints que você definiu, use o ref = "nome" atributo em vez de uri = "..." .

por exemplo.

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

Tudo o que se disse - você tende a ficar melhor e mais rápido apoiar no camelo através do Camel Usuário Fórum

Outras dicas

Mais sobre isso:

Quando o ponto final é definido como uma conexão mina tcp, não pode ser identificado como "activemq :: listener_A"

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

isso é errado:

  <from uri="activemq:listener_A"/>  

Este obras:

  <from ref="listener_A"/>  

assim que faz o seguinte:

  <from ref="mina:tcp://localhost:42000?sync=false&amp;textline=true"/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top