JMS 는 자바 기반의 MOM(메시지 지향 미들웨어) API 이며 둘 이상의 클라이언트 간의 메시지를 보낸다.
JMS 는 자바 플랫폼, 엔터프라이즈 에디션(EE) 기반이며, 메시지 생성, 송수신, 읽기를 수행하며 비동기적이며 신뢰할 만하고 느슨하게 연결된 서로 다른 분산 어플리케이션 컴포넌트 간의 통신을 허용한다.
JMS의 핵심 개념은 Message Broker 와 Destination 이다.
헤더, 등록정보, 본문 3가지 부문으로 구성된다.
헤더
등록 정보
본문 유형
유형 | 설명 |
---|---|
StreamMessage | 본문이 Java 프리미티브 값의 스트림을 포함하는 메시지. 이 메시지는 순차적으로 채워지고 읽혀진다. |
MapMessage | 본문에 일련의 이름-값 쌍을 포함하는 메시지. 항목 순서는 정의되지 않는다. |
TextMessage | 본문에 Java 문자열을 포함하는 메시지. 예를 들어, XML 메시지 |
ObjectMessage | 본문에 일련화된 Java 객체를 포함하는 메시지 |
BytesMessage | 본문에 해석되지 않은 바이트의 스트림이 포함된 메시지 |
ConnectionFactory-> Connection-> Session-> MessageProducer-> send
다양한 언어와 프로토콜 지원 (Java, C, C++, C#, Ruby, Perl, Python, PHP클라이언트 지원)
OpenWire를 통해 고성능의 Java, C, C++, C# 클라이언트 지원
Stomp를 통해 C, Ruby, Perl, Python, PHP 클라이언트가 다른 인기있는 메시지 브로커들과 마찬가지로 ActiveMQ에 접근 가능
Message Groups, Virtual Destinations, Wildcards와 Composite Destination를 지원
Spring 지원으로 ActiveMQ는 Spring Application에 매우 쉽게 임베딩될 수 있으며, Spring의 XML 설정 메커니즘에 의해 쉽게 설정 가능
Geronimo, JBoss 4, GlassFish, WebLogic과 같은 인기있는 J2EE 서버들과 함께 테스트됨
고성능의 저널을 사용할 때에 JDBC를 사용하여 매우 빠른 Persistence를 지원
REST API를 통해 웹기반 메시징 API를 지원
웹 브라우저가 메시징 도구가 될 수 있도록, Ajax를 통해 순수한 DHTML을 사용한 웹 스트리밍 지원
ActiveMQ Classic 으로 5.15.15 버전을 다운받았으며, 내 컴퓨터에서 ActiveMQ의 경로는 C:\Users\김호준\apache-activemq-5.15.15-bin\apache-activemq-5.15.15 에 설치하였다.
실행은 CMD 를 실행하여 C:\Users\김호준\apache-activemq-5.15.15-bin\apache-activemq-5.15.15\bin 경로로 이동한 뒤 activemq.bat start 명령어를 입력하면 실행된다.