NonStop JMS User's Manual (H06.03+, J06.03+, NonStop JMS 3.0+)
NSJMS and JMS Client Applications
NonStop Server for Java Message Service User’s Manual—522356-006
4-15
Best Practices for Developing a JMS Client
Topic Publisher/Subscriber Sample Setup (Not 
Recommended)
This is a sample of a setup process that is not recommended for use because the 
setup steps are repeated with each message:
TopicConnectionFactory factory =
 (TopicConnectionFactory) 
jndiContext.lookup("TopicConnectionFactory");
TopicConnection connection = factory.createTopicConnection();
TopicSession sessionSub = connection.createTopicSession(true,
 Session.AUTO_ACKNOWLEDGE);
Topic topicSub = (Topic)jndiContext.lookup(topicSubName);
TopicSubscriber subscriber =
 sessionSub.createDurableSubscriber(topicSub,
 "MySubscription");
TextListener topicListener = new TextListener();
subscriber.setMessageListener(topicListener);
connection.start();
class TextListener implements MessageListener 
{
 public void onMessage(Message message) 
 {
 TextMessage messageSub = (TextMessage) message;
 // Connection, session & publisher recreated after each
 //receive, very expensive
 TopicConnection connectionNew =
 factory.createTopicConnection();
 TopicSession sessionPub =
 connectionNew.createTopicSession(true,
 Session.AUTO_ACKNOWLEDGE);
 Topic topicPub =
 (Topic)jndiContext.lookup(topicPubName);
 TopicPublisher publisher =
 sessionPub.createPublisher(topicPub);
 TextMessage messagePub =
 sessionPub.createTextMessage();
 messagePub.setText(messageSub.getText());
 publisher.publish(messagePub);
 //session commits can be done after each message or
 //batched
 }
}










