JMS 보장할 수 있는가?

 

 

 

JMS Template는 JMS Core 패키지에서 핵심 클래스입니다.

 

그것은 생성 및 전송 또는 동기적으로 메시지를 받는 자원의 해제를 처리하기 때문에

 

그것은 JMS 사용을 단순화합니다. 

 

 

JMS(Java Messaging Service)에서 HornetQ 인스턴스를 여러 개 구성하여 클러스터링으로 사용중인데, 메시지 순서를 보장받을 수 있을 것 인가?

 

 

 

엔터프라이즈 시스템에서는 일반적으로 MQ(Message Queue) 혹은 MOM(Message Oriented Middleware)라고 부르는 비동기 메시징 시스템을 사용하여 여러 시스템 간에 메시지를 전송하여 처리하는 메시지 교환 시스템을 구현해 왔습니다. JMS는 Java 애플리케이션에서 이런 메시징 시스템을 구현하기 위한 표준이며, Java EE에도 초기부터 포함된 비교적 오랜 시간동안 발전해 온 표준입니다. JMS를 사용하면 Java EE환경에서 간단하게 비동기 메시지 처리를 구현할 수 있습니다. 비동기 메시징을 사용하면 시스템 성능 향상, 자원 효율화, 처리 순서지정 등 여러 가지 장점이 있습니다.

 

 

HornetQ는 JBoss EAP 6.x에서 JMS를 담당하는 오픈소스 프로젝트입니다.

 

 

 

 

클러스터링을 구성하면 메시지는 클러스터 노드들에 분산되어 전달됩니다. 이 경우 메시지의 전달 순서대로 메시지를 받을 수 있을까요? 예전에는 Message Selector를 사용하여 메시지를 골라 처리할 수 밖에 없었는데요. HornetQ에서는 Message Grouping이란 기능을 제공합니다. JMSXGroupID를 사용하여 클러스터내의 메시지에 대해 전달 순서를 보장하는 기능이 있습니다.