Spring & JMS
Spring & JMS
Spring Forward
Introduction to Spring JMS
Mark Pollack
Principal
CodeStreet LLC
Speaker’s Qualifications
Communication styles
• Synchronous: “request/reply”
• Asynchronous
Messaging styles: “domains”
• Point-to-Point: “queues”
• Publish-Subscribe: “topics”
Important characteristics
• Broker responsible for delivery
• QOS – persistence, priority and time to live.
• Producer decoupled from Subscriber
Messaging Middleware
producer.send(destination, message);
}
});
Destination Management
DestinationResolver
• Convert string to JMS Destination object
• Default used in DynamicDestinationResolver
– Session.createQueue/createTopic
• JndiDesintationResolver
– Does JNDI lookup – fallback to dynamic behavior
Resource Pooling
Example – “PersonConverter”
JmsGateway
void onMessage(Messagemessage);
Stand-alone environment
• Code it up: MessageConsumer.setMessageListener()
J2EE environment
• Configure Message Driven Beans
Spring’s Message Listener Containers
SimpleMessageListenerContainer container =
new SimpleMessageListenerContainer();
container.setConnectionFactory(connFactory);
container.setDestinationName("partyline.queue");
container.setConcurrentConsumers(10);
container.setMessageListener(new SimpleListener());
container.afterPropertiesSet();