6.2. camel-jms
camel-jms, camel-sjms 및 camel-sjms2 끝점을 원격 AMQ 7 브로커에 연결하는 데 지원되는 두 가지 방법이 있습니다.
- JBoss EAP 구성 메시징 가이드의 Artemis Resource Adapter to Connect to Red Hat JBoss AMQ 7 이라는 섹션에 설명된 대로 pooled-connection-factory를 사용하여 원격 연결을 구성합니다.
- 에 설명된 대로 connection-factory를 사용하여 원격 연결 장치 구성 connection-factory를 사용하여 remote-connector 구성
첫 번째 옵션은 연결 풀링 및 XA 트랜잭션 지원을 제공하므로 권장되는 방법입니다.
Cryostat 구독자를 사용하는 메시징 시나리오의 경우 Cryostat 7 사양에 따른 제약 조건으로 인해 JBoss EAP의 Fuse 7.8에서 pooled-connection-factory를 지원하지 않습니다. 이러한 시나리오에서는 표준 풀링되지 않은 연결 요소를 구성하는 것이 좋습니다.
connection-factory를 사용하여 remote-connector 구성
원격 메시징 서버를 가리키는 outbound-socket-binding을 생성합니다.
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=messaging-remote-throughput:add(host=localhost, port=61616)
1단계에서 생성된 outbound-socket-binding을 참조하는 remote-connector를 만듭니다.
/subsystem=messaging-activemq/server=default/remote-connector=netty-remote-throughput:add(socket-binding=messaging-remote-throughput)
2단계에서 생성된 remote-connector를 참조하는 connection-factory를 생성합니다.
/subsystem=messaging-activemq/server=default/connection-factory=simple-remote-artemis-connection-factory:add(entries=[java:/jms/RemoteJms],connectors=[netty-remote-throughput])
6.2.1. 메시징 브로커 및 클라이언트
초록
Fuse 7.8은 기본 내부 메시징 브로커와 함께 제공되지 않지만 외부 JMS 브로커와 상호 작용하도록 설계되었습니다.
JBoss EAP의 Fuse 7.8은 JBoss EAP에서 메시징 구성에 설명된 리소스 어댑터를 사용하여 외부 메시징 브로커에 액세스합니다.
JBoss EAP의 Fuse 7.8 에서 메시징에 사용할 수 있는 외부 브로커, JCA 어댑터 및 Camel 구성 요소 조합에 대한 자세한 내용은 지원 구성을 참조하십시오.
JMS를 사용하여 JBoss EAP에서 Fuse를 사용하여 외부 브로커에 연결하는 방법에 대한 자세한 내용은 6.2절. “camel-jms” 을 참조하십시오.
Camel-jms 빠른 시작
JMS 메시지를 생성하고 사용하기 위해 Fuse on JBoss EAP에서 camel-jms 구성 요소를 사용하는 방법을 보여주는 빠른 시작이 제공됩니다.
이 빠른 시작에서 Camel 경로는 EAP_HOME/standalone/data/orders
의 파일을 사용하고 OrdersQueue
라는 메모리 내 ActiveMQ Artemis 큐에 콘텐츠를 배치합니다. 그런 다음 다른 Camel 경로는 OrdersQueue
내용을 사용하고 주문을 EAP_HOME/standalone/data/orders/processed
내의 개별 국가 디렉터리로 정렬합니다.
CLI 명령은 OrdersQueue
CLI 스크립트를 생성 및 삭제합니다. 애플리케이션이 배포 및 배포 취소될 때 JMS OrdersQueue
를 생성하고 제거합니다. 이러한 스크립트는 EAP_HOME/quickstarts/camel-jms/src/main/resources/cli
디렉터리에 있습니다.
사전 요구 사항
이 빠른 시작을 실행하려면 작동 중인 버전의 Fuse 7.8이 있어야 합니다.
외부 AMQ 7 브로커에 연결하려면 원격 JMS communication에 JBoss AMQ 사용 지침도 따라야 합니다. 그런 다음 기본 연결 팩토리와 마찬가지로 연결 팩토리를 삽입할 수 있습니다.
@Resource(mappedName = "java:jboss/RemoteJmsXA") ConnectionFactory connectionFactory;
퀵스타트 설정
- 독립 실행형 모드에서 JBOSS EAP를 시작합니다.
-
EAP_HOME/quickstarts/camel/camel-jms
로 이동합니다. -
mvn clean install -Pdeploy'
를 입력하여 빠른 시작을 빌드하고 배포합니다. - http://localhost:8080/example-camel-jms으로 이동
'Orders Received'라는 페이지가 표시됩니다. 예제 애플리케이션에 주문을 보내면 국가당 주문 목록이 이 페이지에 나열됩니다.
퀵스타트 실행
EAP_HOME/quickstarts/camel/camel-jms/src/main/resources
디렉터리에는 몇 가지 예제 XML 파일이 있습니다. Camel은 5초마다 무작위로 파일을 선택하고 처리를 위해 EAP_HOME/standalone/data/orders
에 복사합니다.
콘솔은 각 주문에 발생한 작업을 자세히 설명하는 메시지를 출력합니다. 출력은 다음과 같습니다.
JmsConsumer[OrdersQueue]) Sending order to the UK JmsConsumer[OrdersQueue]) Sending order to another country JmsConsumer[OrdersQueue]) Sending order to the US
파일이 소비되면 http://localhost:8080/example-camel-jms/orders 로 돌아갈 수 있습니다. 각 국가에 대한 주문 수는 1로 증가해야합니다.
처리된 모든 주문은 다음 대상으로 나뉩니다.
EAP_HOME/standalone/data/orders/processed/uk EAP_HOME/standalone/data/orders/processed/us EAP_HOME/standalone/data/orders/processed/other
배포 취소
예제 배포를 취소하려면 EAP_HOME/quickstarts/camel/camel-jms
로 이동합니다. mvn clean -Pdeploy
.