문제

TCP에서 TCP 경로를 보여줄 ActiveMQ로 간단한 데모를 시작하려고합니다. 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 서버는 청취 포트를 열지 않는 것 같습니다.

편집 : 간단한 악마의 의도는 두 개의 Telnet 터미널 (A 및 B)을 사용하여 ActiveMQ에 연결하고 메시지 큐 서버를 통해 메시지를 서로 경주 할 수있는 것입니다. 나중에 컨텐츠를 기반으로 필터링 또는 라우팅을 시도 할 수 있습니다.

도움이 되었습니까?

해결책

귀하의 구성 파일에 약간 혼란스러워합니다. 정확히 무엇을하려고합니까?

Mina를 사용하기 위해 2 개의 종점을 정의했습니다 (ActiveMQ를 전혀 사용하지 않음). 그런 다음 ActievMQ 대기열 청취자 _A에서 Listener_B로 경로를 사용한 다음 Listener_B로 LEARTER_A (이는 재귀 루프)를 사용합니다.

어쩌면 당신이 원하는 것을 설명하기 시작하면 XML의 모습을 알아낼 수 있습니다.

우연히 정의한 엔드 포인트를 참조하려면 ref = "이름" 보다는 속성 uri = "...".

예를 들어

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

말한 모든 것 - 당신은 낙타 사용자 포럼

다른 팁

이것에 대한 자세한 내용 :

엔드 포인트가 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