ActiveMQ 설치
Camel Dependency 추가
- ActiveMQ 컴포넌트 추가
. ActiveMQ 컴포넌트는 Camel 컴포넌트가 아니기 때문에 pom.xml에 dependency 추가해주어야 한다.
Sender(Producer)
- Message Sender Route 정의
@Component
public class ActiveMqSenderRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
//timer
from("timer:active-mq-timer?period=10000")
.transform().constant("My message for Active MQ")
.to("activemq:my-activemq-queue");
//queue
}
}
. sender(producer) route를 정의한 camel application을 구동하면, 아래와 같이 queue가 생성됨
. message가 생성되는 period는 30초로 설정 (timer 컴포넌트 옵션)
. 아직 receiver(consumer)가 없으므로 메시지가 pending messages로 쌓이는 것을 확인할 수 있음
- Message Receiver Route 정의
@Component
public class ActiveMqReceiverRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
from("activemq:my-activemq-queue")
.to("log:received-message-from-active-mq");
}
}
. receiver(consumer) route를 정의한 camel application을 구동하면, 아래와 같이 queue에서 메시지를 가져와 log를 생성
. Queue 상태창을 보면 pending되었던 메시지들이 모두 소비된 것과, consumer application이 구동 중인 것을 확인할 수 있음
'~2022 > Camel with Spring-Boot' 카테고리의 다른 글
[Camel Tutorial] Accessing Database with JDBC (0) | 2022.03.12 |
---|---|
[Camel Tutorial] Simple File Router (0) | 2022.03.12 |
[Camel Tutorial] Message Transformation & Message Processing (0) | 2022.03.12 |
[Camel Tutorial] Simple Timer Router (0) | 2022.03.12 |
[Camel Tutorial] Generate Spring Boot Project (0) | 2022.03.12 |