@Test public void processAndReply() throws JMSException { MessagingMessageListenerAdapter listener = createDefaultInstance(String.class); String body = "echo text"; String correlationId = "link-1234"; Destination replyDestination = new Destination() {}; TextMessage reply = mock(TextMessage.class); QueueSender queueSender = mock(QueueSender.class); Session session = mock(Session.class); given(session.createTextMessage(body)).willReturn(reply); given(session.createProducer(replyDestination)).willReturn(queueSender); listener.setDefaultResponseDestination(replyDestination); StubTextMessage inputMessage = createSimpleJmsTextMessage(body); inputMessage.setJMSCorrelationID(correlationId); listener.onMessage(inputMessage, session); assertDefaultListenerMethodInvocation(); verify(reply).setJMSCorrelationID(correlationId); verify(queueSender).send(reply); verify(queueSender).close(); }
private void processAndReplyWithSendTo(MessagingMessageListenerAdapter listener, String replyDestinationName, boolean pubSubDomain, QosSettings replyQosSettings) throws JMSException { String body = "echo text"; String correlationId = "link-1234"; Destination replyDestination = new Destination() {}; DestinationResolver destinationResolver = mock(DestinationResolver.class); TextMessage reply = mock(TextMessage.class); QueueSender queueSender = mock(QueueSender.class); Session session = mock(Session.class); given(destinationResolver.resolveDestinationName(session, replyDestinationName, pubSubDomain)) .willReturn(replyDestination); given(session.createTextMessage(body)).willReturn(reply); given(session.createProducer(replyDestination)).willReturn(queueSender); listener.setDestinationResolver(destinationResolver); StubTextMessage inputMessage = createSimpleJmsTextMessage(body); inputMessage.setJMSCorrelationID(correlationId); listener.onMessage(inputMessage, session); verify(destinationResolver).resolveDestinationName(session, replyDestinationName, pubSubDomain); verify(reply).setJMSCorrelationID(correlationId); if (replyQosSettings != null) { verify(queueSender).send(reply, replyQosSettings.getDeliveryMode(), replyQosSettings.getPriority(), replyQosSettings.getTimeToLive()); } else { verify(queueSender).send(reply); } verify(queueSender).close(); }
@Test public void testWithResponsiveMessageDelegateWithDefaultDestination_SendsReturnTextMessageWhenSessionSupplied() throws Exception { Queue destination = mock(Queue.class); TextMessage sentTextMessage = mock(TextMessage.class); // correlation ID is queried when response is being created... given(sentTextMessage.getJMSCorrelationID()).willReturn( CORRELATION_ID); // Reply-To is queried when response is being created... given(sentTextMessage.getJMSReplyTo()).willReturn(null); // we want to fall back to the default... TextMessage responseTextMessage = mock(TextMessage.class); QueueSender queueSender = mock(QueueSender.class); Session session = mock(Session.class); given(session.createTextMessage(RESPONSE_TEXT)).willReturn(responseTextMessage); given(session.createProducer(destination)).willReturn(queueSender); ResponsiveMessageDelegate delegate = mock(ResponsiveMessageDelegate.class); given(delegate.handleMessage(sentTextMessage)).willReturn(RESPONSE_TEXT); MessageListenerAdapter adapter = new MessageListenerAdapter(delegate) { @Override protected Object extractMessage(Message message) { return message; } }; adapter.setDefaultResponseDestination(destination); adapter.onMessage(sentTextMessage, session); verify(responseTextMessage).setJMSCorrelationID(CORRELATION_ID); verify(queueSender).send(responseTextMessage); verify(queueSender).close(); verify(delegate).handleMessage(sentTextMessage); }
@Test public void testWithResponsiveMessageDelegateWhenReturnTypeIsAJMSMessageAndNoMessageConverterIsSupplied() throws Exception { Queue destination = mock(Queue.class); final TextMessage sentTextMessage = mock(TextMessage.class); // correlation ID is queried when response is being created... given(sentTextMessage.getJMSCorrelationID()).willReturn(CORRELATION_ID); // Reply-To is queried when response is being created... given(sentTextMessage.getJMSReplyTo()).willReturn(destination); TextMessage responseMessage = mock(TextMessage.class); QueueSender queueSender = mock(QueueSender.class); Session session = mock(Session.class); given(session.createProducer(destination)).willReturn(queueSender); ResponsiveJmsTextMessageReturningMessageDelegate delegate = mock(ResponsiveJmsTextMessageReturningMessageDelegate.class); given(delegate.handleMessage(sentTextMessage)).willReturn(responseMessage); final MessageListenerAdapter adapter = new MessageListenerAdapter(delegate) { @Override protected Object extractMessage(Message message) { return message; } }; adapter.setMessageConverter(null); adapter.onMessage(sentTextMessage, session); verify(responseMessage).setJMSCorrelationID(CORRELATION_ID); verify(queueSender).send(responseMessage); verify(queueSender).close(); }
/** * Closes all queue senders. */ public void closeAllQueueSenders() { for(int ii = 0; ii < queueSenderList.size(); ii++) { QueueSender sender = (QueueSender)queueSenderList.get(ii); try { sender.close(); } catch(JMSException exc) { } } }
/** * Closes all queue senders. */ public void closeAllQueueSenders() { for(int ii = 0; ii < queueSenderList.size(); ii++) { QueueSender sender = (QueueSender)queueSenderList.get(ii); try { sender.close(); } catch(JMSException exc) { } } }
@Destroy public void destroy() throws JMSException { queueSender.close(); }
public void close() throws JMSException { _sender.close(); _session.close(); } }
private void closeResources(QueueConnection pConn, QueueSession pSession, QueueSender pSender) throws JMSException { if (pSender != null) { pSender.close(); } if (pSession != null) { pSession.close(); } if (pConn != null) { pConn.close(); } }
public void sendMessage(String txt) throws Exception { QueueSender send = null; try { // Send a text msg send = session.createSender(queue); TextMessage tm = session.createTextMessage(txt); send.send(tm); log.info("-----> sent text=" + tm.getText()); } finally { send.close(); } }
private void shutdown() throws Exception { sender.close(); session.close(); connection.close(); }
private void shutdown() throws Exception { sender.close(); session.close(); connection.close(); }
private void shutdown() throws Exception { sender.close(); session.close(); connection.close(); }
@Override public void close() throws Exception { if (queueConnection != null) { queueConnection.close(); } if (queueSession != null) { queueSession.close(); } if (queueSender != null) { queueSender.close(); } } }
public void destroy() throws JMSException { sender.close(); conn.stop(); session.close(); conn.close(); } }
protected synchronized void closeConnection() { try { if( null != m_sender ) m_sender.close(); if( null != m_session ) m_session.close(); if( null != m_connection ) m_connection.close(); } catch( Exception e ) { getErrorHandler().error( "Error closing connection", e, null ); } m_sender = null; m_session = null; m_connection = null; } }
private void sendBytesMessage(String destName,byte[] buffer) throws Exception { InitialContext ic = getInitialContext(); QueueConnectionFactory confac = (QueueConnectionFactory) ic.lookup("ConnectionFactory"); QueueConnection connection = confac.createQueueConnection(); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); BytesMessage bm = session.createBytesMessage(); bm.writeBytes(buffer); QueueSender sender = session.createSender((Queue)ic.lookup(destName)); sender.send(bm); sender.close(); session.close(); connection.close(); }
private void sendBytesMessage(String destName,byte[] buffer) throws Exception { InitialContext ic = getInitialContext(); QueueConnectionFactory confac = (QueueConnectionFactory) ic.lookup("ConnectionFactory"); QueueConnection connection = confac.createQueueConnection(); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); BytesMessage bm = session.createBytesMessage(); bm.writeBytes(buffer); QueueSender sender = session.createSender((Queue)ic.lookup(destName)); sender.send(bm); sender.close(); session.close(); connection.close(); }
private void sendBytesMessage(String destName,byte[] buffer) throws Exception { InitialContext ic = getInitialContext(); QueueConnectionFactory confac = (QueueConnectionFactory) ic.lookup("ConnectionFactory"); QueueConnection connection = confac.createQueueConnection(); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); BytesMessage bm = session.createBytesMessage(); bm.writeBytes(buffer); QueueSender sender = session.createSender((Queue)ic.lookup(destName)); sender.send(bm); sender.close(); session.close(); connection.close(); }
try { QueueConnectionFactory qcf = AppUtils.getQueueConnectionFactory(); Queue q = AppUtils.getDestination(); QueueConnection qConnection = qcf.createQueueConnection(); QueueSession qSession = qConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSender qSender = qSession.createSender(q); qConnection.start(); TextMessage msg = qSession.createTextMessage("Hello"); qSender.send(msg); qSender.close(); qConnection.close(); } catch (JMSException e) { // log your error to log file e.printStackTrace(); }