public void sendMessage(CommonMessage message) { try { connection = MQConnectionCreator.createConnection(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); destinationQueue = session.createQueue(queueName); producer = session.createProducer(destinationQueue); ObjectMessage objMessage = session.createObjectMessage(); objMessage.setObject(message); /** * Note: set value to property of Message that will be sent and A Listener can use match the * specified message by queue Selector */ String messageSelector = message.getMessageSelector(); if (StringUtils.isNotBlank(messageSelector)) { objMessage.setStringProperty(message.getMessageSelectorKey(), messageSelector); } producer.send(objMessage); } catch (JMSException e) { handleJMSException(e); } finally { stop(); } }