2장. Karaf (OSGi)에서 트랜잭션 시작하기
이 섹션에서는 트랜잭션을 사용하여 Artemis JMS 브로커에 액세스하는 Camel 애플리케이션을 설명합니다. 정보는 다음과 같이 구성됩니다.
2.1. 사전 요구 사항
이 Camel 애플리케이션의 구현에는 다음과 같은 사전 요구 사항이 있습니다.
외부 AMQ 7 JMS 메시지 브로커가 실행 중이어야 합니다.
다음 샘플 코드는
amq-broker-7.1.0-bin.zip
의 독립 실행형 (Docker이 아닌) 버전을 실행합니다. 실행은amq7
인스턴스를 생성하고 실행합니다.$ pwd /data/servers/amq-broker-7.1.0 $ bin/artemis create --user admin --password admin --require-login amq7 Creating ActiveMQ Artemis instance at: /data/servers/amq-broker-7.1.0/amq7 Auto tuning journal ... done! Your system can make 27.78 writes per millisecond, your journal-buffer-timeout will be 36000 You can now start the broker by executing: "/data/servers/amq-broker-7.1.0/amq7/bin/artemis" run Or you can run the broker in the background using: "/data/servers/amq-broker-7.1.0/amq7/bin/artemis-service" start $ amq7/bin/artemis run __ __ ____ ____ _ /\ | \/ |/ __ \ | _ \ | | / \ | \ / | | | | | |_) |_ __ ___ | | _____ _ __ / /\ \ | |\/| | | | | | _ <| '__/ _ \| |/ / _ \ '__| / ____ \| | | | |__| | | |_) | | | (_) | < __/ | /_/ \_\_| |_|\___\_\ |____/|_| \___/|_|\_\___|_| Red Hat JBoss AMQ 7.1.0.GA 018-05-02 16:37:19,294 INFO [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server ...
클라이언트 라이브러리가 필요합니다. Artemis 라이브러리는 Maven Central 또는 Red Hat 리포지토리에서 사용할 수 있습니다. 예를 들어 다음을 사용할 수 있습니다.
-
mvn:org.apache.activemq/artemis-core-client/2.4.0.amq-710008-redhat-1
-
mvn:org.apache.activemq/artemis-jms-client/2.4.0.amq-710008-redhat-1
또는 Artemis/AMQ 7 클라이언트 라이브러리는 Karaf 기능으로 설치할 수 있습니다. 예를 들면 다음과 같습니다.
-
Karaf@root()> feature:install artemis-jms-client artemis-core-client
-
Karaf 쉘 명령 또는 전용 Artemis 지원을 제공하는 일부 지원 기능이 필요합니다.
karaf@root()> feature:install jms pax-jms-artemis pax-jms-config
필수 Camel 기능은 다음과 같습니다.
karaf@root()> feature:install camel-jms camel-blueprint