12.6 JMS의 이용
Java EE 6에서는 JMS는 Full 프로파일에 포함되어 있고 웹 프로파일에는 포함되어 있지 않다. 스탠드얼론 모드에서 파일명을 지정하지 않고 JBoss EAP 6를 시작하면 웹 프로파일을 사용하게 되기 때문에 Messaging 서브시스템을 이용하려면 풀 프로파일의 설정 파일인 standalone-full.xml을 지정하고 시작해야 한다.
$./standalone.sh --server-config=standalone-full.xml
대상 설정
대상(destination)은 Queue나 Topic의 이름과 클라이언트에서 룩업할 때 사용하는 JNDI이름을 지정하여 작성한다. JNDI 이름은 다음 형식으로 지정한다.
java:jboss/exported/<JNDI 이름>
클라이언트에서는 <JNDI 이름>을 사용하여 대상(destination)을 룩업한다.
다음에서 CLI를 사용하여 Queue와 Topic을 생성하고 삭제하는 방법을 소개한다. CLI에서 오퍼레이션을 사용하여 Queue나 Topic의 생성, 삭제도 가능하지만, 더 간단하게 설정할 수 있도록 jms-queue, jms-topic이라는 별도의 명령어를 제공한다.
Queue 관리 CLI
Queue나 Topic을 생성하거나, 삭제하는 방법에 대해서 설명한다. 설정 방법이나 값의 확인 방법도 함께 설명한다.
| 명령 | 설명 |
|---|---|
| 큐 생성 | * jms-queue add --queue-address=<큐 이름> --entries=<JNDI 이름> + |
[standalone@localhost:9999 /] jms-queue add --queue-address=myQueue --entries=queue/myQueue
[standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/jms-queue=myQueue:read-resource
{
"outcome" => "success",
"result" => {
"durable" => true,
"entries" => ["queue/myQueue"],
"selector" => undefined
}
}
| 큐 조회 | * jms-queue read-resource --queue-address=<큐 이름> + |
[standalone@localhost:9999 /] jms-queue read-resource --queue-address=myQueue
durable=true
entries
queue/myQueue
selector=n/a
| 큐 삭제 | * jms-queue remove --queue-address=<큐 이름> [standalone@localhost:9999 /] jms-queue remove --queue-address=myQueue |
토픽 관리 CLI
토픽도 큐와 마찬가지로 jms-topic 명령을 사용하여 간단하게 생성, 삭제할 수 있다.
| 명령 | 설명 |
|---|---|
| 토픽 생성 | * jms-topic add --topic-address=<토픽 이름> --entries=<JNDI 이름> [standalone@localhost:9999 /] jms-topic add --topic-address=myTopic --entries=topic/myTopic |
| 토픽 조회 | * jms-topic read-resource --topic-address=<토픽 이름> + |
[standalone@localhost:9999 /] jms-topic read-resource --topic-address=myTopic
entries
topic/myTopic
| 토픽 삭제 | * jms-topic remove --topic-address=<토픽 이름> [standalone@localhost:9999 /] jms-topic remove --topic -address=myTopic |