220 likes | 446 Views
JMS with Spring. 작성자 : 김제 준 소속팀 / 상위부서 : 솔루션개발 대외비. ⓒ 2010 NHN CORPORATION. 목차. 1. Java Message Service?. 1.1 챕터 내용 : 맑은고딕 B , 11pt 1.2 챕터 내용 : 맑은고딕 B, 11pt. 2. JMS with Spring. 2.1 챕터 내용 : 맑은고딕 B, 11pt 2.2 챕터 내용 : 맑은고딕 B, 11pt. 3. 실행.
E N D
JMS with Spring 작성자: 김제준 소속팀 /상위부서: 솔루션개발 대외비 ⓒ 2010 NHN CORPORATION
목차 1. Java Message Service? 1.1 챕터 내용: 맑은고딕 B, 11pt 1.2 챕터 내용: 맑은고딕 B, 11pt 2. JMS with Spring 2.1 챕터 내용: 맑은고딕 B, 11pt 2.2 챕터 내용: 맑은고딕 B, 11pt 3. 실행 3.1 챕터 내용: 맑은고딕 B, 11pt 3.2 챕터 내용: 맑은고딕 B, 11pt
1.1 What is messaging? Voice Mail Box
1.2 JMS Elements • JMS provider : Message Oriented Middleware(MOM) 구현체, Java JMS 구현체 이거나 non-Java MOM • JMS Client : 메시지를 공급 하거나 받는 주체 • JMS Producer/publisher • - 메시지를 만들거나 보내는 주체 • JMS Consumer/subscriber • - 메시지를 받는 주체 • JMS Message • - JMS Clients 사이에 전송이 가능한 오브젝트 • JMS Queue • - 메시지가 전송 되고, 읽어 지기 전에 머무는 영역. • - 전송된 순서대로 읽어지는 것을 보장하지 않고, 오직 한번 읽히는 것만 보장 • JMS Topic • - 분산된 consumer 들에게 분산 전송하는 메카니즘
1.3 JMS API Supports Models 1. Point-to-Point Model Receiver Sender Queue 한 Consumer 만 메시지를 읽을 수 있다. Consumer가 메시지를 읽을 때, Producer가 running 중일 필요가 없다, 반대 경우도 마찬 가지 모든 메시지는 성공적으로 Consumer가 처리 한다. 2. Publish/subscribe model Subscribers Publisher Topic 여러명(or none) Consumer가 메시지를 받을 수 있다 Publisher와 Subscribers 간에 시간 의존성이 있다.(Subscriber 가 동작중이지 않을 경우에는 다시 접속했을때 메시지를 전송 받는다.)
1.4 Java Message Service Interacting JMS API Message Brokers Like JDBC API JDBC Drivers Javax.jms.ConnectionFactory Javax.jms.Connection Javax.jms.Sesssion Broker와 클라이언트 간의 상호 작용을 책임지고, 메시지를 주고 받는 것을 허락
1.4 Java Message Service Javax.jms.Destination JMS에서 Message Broker의 “Address” 와 같은 역할. 메시지를 보내고, 저장하고, 처리하는 위치는 Javax.jms.Destination의 instance로 부터 처리한다. Producers Consumers Javax.jms.Queue Point-to-Point Destinations Publish-subsribe Javax.jms.Topic
1.4 Java Message Service 1. Destination으로 메시지 보내기 Send with Message Javax.jms.MessageProducer 2. 메시지 받기 Javax.jmx.MessageConsumer#receive() Destination에 메시지가 있는지 확인하는 방식 Javax.jmx.Session#setMessageListener Destination에서 메시지를 가져 올수 있을 경우 호출. onMessage(javax.jms.Message)
2.1 JmsTemplate Javax.jms.ConnectionFactory Org.springframework.jms.core.JmsTemplate Process ALL Javax.jms.Session Javax.jms.MessageConsumer Javax.jms.MessageProducer
2.2 Using Spring with JMS ActiveMQ-5.5.0
2.2 Using Spring with JMS Producer Javax.jms.TextMessage Javax.jms.ObjectMessage Javax.jms.MapMessage
2.2 Using Spring with JMS Consumer MarshallingMessageConverter
2.2 Using Spring with JMS Listening Makes It More Simple
3.2 참고 URL Java Message Service http://en.wikipedia.org/wiki/Java_Message_Service Messaging and Spring http://blog.springsource.com/2011/01/25/green-beans-getting-started-with-enterprise-messaging-and-spring/ ActiveMQ http://activemq.apache.org/