package com.sun.s1asdev.ejb.ejb30.hello.mdb; import javax.annotation.Resource; import javax.ejb.*; import javax.jms.*; //Messages received from InQueue @MessageDriven(mappedName="jms/ejb_ejb30_hello_mdb_InQueue") public class MessageBean implements MessageListener { @Resource(mappedName="jms/ejb_ejb30_hello_mdb_QCF") QueueConnectionFactory qcFactory; //Destination Queue @Resource(mappedName="jms/ejb_ejb30_hello_mdb_OutQueue") Queue replyQueue; public void onMessage(Message message) { System.out.println("MessageBean:: onMessage :: Got message!!!" + message); QueueConnection connection = null; QueueSession session = null; try { connection = qcFactory.createQueueConnection(); session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSender sender = session.createSender(replyQueue); TextMessage tmessage = session.createTextMessage(); String msgText = "Reply for " + ((TextMessage) message).getText(); tmessage.setText(msgText); System.out.println("Sending " + msgText); sender.send(tmessage); } catch(Exception e) { e.printStackTrace(); } finally { try { if (session != null) { session.close(); } if(connection != null) { connection.close(); } } catch(Exception e) { e.printStackTrace(); } } } }