import java.util.logging.Level; import java.util.logging.Logger; import javax.jms.*; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; public class QueueSenderImpl { private QueueSenderImpl queueSender = null; private QueueSenderImpl(){ init(); } private void init(){ //get Connection factory connectionFactory = (ConnectionFactory) jndiContext.lookup("jms/QueueConnectionFactory"); //get Destionation dest = (Destination) jndiContext.lookup("jms/QueueProducer";); //Create connection connection = connectionFactory.createConnection(); } public void send(QueueItem queueItem) { logger.fine("Session object is created.."); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(dest); logger.fine("Producer object is created.."); ObjectMessage message = session.createObjectMessage(); message.setObject(queueItem); producer.send(message); } public static QueueSenderImpl getInstance() { synchronized (QueueSenderImpl.class) { if (queueSender == null) { queueSender = new QueueSenderImpl(); } } return queueSender; } }