Assert.assertNull(message.getJMSMessageID()); messageProducer.send(message); Assert.assertNotNull(message.getJMSMessageID()); Assert.assertNull(message.getJMSMessageID()); messageProducer.send(destinationB, message); Assert.assertNotNull(message.getJMSMessageID());
Assert.assertNull(message.getJMSMessageID()); messageProducer.send(message); Assert.assertNotNull(message.getJMSMessageID()); Assert.assertNull(message.getJMSMessageID()); messageProducer.send(destinationB, message); Assert.assertNotNull(message.getJMSMessageID());
@Test public void testWithResponsiveMessageDelegateNoDefaultDestination_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(null); given(sentTextMessage.getJMSMessageID()).willReturn(CORRELATION_ID); // Reply-To is queried when response is being created... given(sentTextMessage.getJMSReplyTo()).willReturn(destination); TextMessage responseTextMessage = mock(TextMessage.class); MessageProducer messageProducer = mock(MessageProducer.class); Session session = mock(Session.class); given(session.createTextMessage(RESPONSE_TEXT)).willReturn(responseTextMessage); given(session.createProducer(destination)).willReturn(messageProducer); 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.onMessage(sentTextMessage, session); verify(responseTextMessage).setJMSCorrelationID(CORRELATION_ID); verify(messageProducer).send(responseTextMessage); verify(messageProducer).close(); verify(delegate).handleMessage(sentTextMessage); }
public Payload toPayload(TextMessage message) throws JMSException { return payloadFactory.newPayload(message.getJMSMessageID(), message.getText().getBytes()); }
@Override protected Event handleTextMessage(TextMessage message) throws JMSException { Payload payload = payloadFactory.newPayload(message.getJMSMessageID(), message.getText().getBytes()); // Event event = new Event(moduleName, name, message.getJMSMessageID(), payload); // Reuse the message's priority if we are configured to respect it if (respectPriority) { event.setPriority(message.getJMSPriority()); } else { event.setPriority(DEFAULT_MESSAGE_PRIORITY); } return event; }
@Override protected Event handleTextMessage(TextMessage message) throws JMSException { Payload payload = payloadFactory.newPayload(message.getJMSMessageID(), message.getText().getBytes()); // Event event = new Event(moduleName, name, message.getJMSMessageID(), payload); // Reuse the message's priority if we are configured to respect it if (respectPriority) { event.setPriority(message.getJMSPriority()); } else { event.setPriority(DEFAULT_MESSAGE_PRIORITY); } return event; }
try { connection = connectionFactory.createConnection(); session = connection.createSession(true,-1); Queue queue = (Queue) QueueConnectionFactory.getInitialContext().lookup("/queue/DLQ"); QueueBrowser browser = session.createBrowser(queue); Enumeration<?> enum1 = browser.getEnumeration(); while(enum1.hasMoreElements()) { TextMessage msg = (TextMessage)enum1.nextElement(); MessageConsumer consumer = session.createConsumer(queue, "JMSMessageID='" + msg.getJMSMessageID() + "'"); //You can try starting the connection outside while loop as well, I think I started it inside while loop by mistake, but since this code worked I am hence letting you know what worked connection.start(); Message message = consumer.receive(1000) ; if ( message != null ) { //do something with message } } } finally { session.commit(); consumer.close(); browser.close(); session.close(); connection.close(); }
corrID = message.getJMSCorrelationID(); if (corrID == null) { corrID = message.getJMSMessageID(); messageBodies.append(numMsgs) .append(" - MessageID: ")
@Test(timeout = 60000) public void testJMSSelectorFiltersJMSMessageIDOnTopic() throws Exception { Connection connection = createConnection(); try { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); javax.jms.Queue queue = session.createQueue(getQueueName()); MessageProducer producer = session.createProducer(queue); // Send one to receive TextMessage message = session.createTextMessage(); producer.send(message); // Send another to filter producer.send(session.createTextMessage()); connection.start(); // First one should make it through MessageConsumer messageConsumer = session.createConsumer(queue, "JMSMessageID = '" + message.getJMSMessageID() + "'"); TextMessage m = (TextMessage) messageConsumer.receive(5000); assertNotNull(m); assertEquals(message.getJMSMessageID(), m.getJMSMessageID()); // The second one should not be received. assertNull(messageConsumer.receive(1000)); } finally { connection.close(); } }
private void sendToQueue(final boolean persistent) throws Exception { Connection pconn = null; Connection cconn = null; try { pconn = createConnection(); cconn = createConnection(); Session ps = pconn.createSession(false, Session.AUTO_ACKNOWLEDGE); Session cs = cconn.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer p = ps.createProducer(queue1); MessageConsumer c = cs.createConsumer(queue1); cconn.start(); TextMessage m = ps.createTextMessage("test"); p.send(m); TextMessage r = (TextMessage) c.receive(3000); ProxyAssertSupport.assertEquals(m.getJMSMessageID(), r.getJMSMessageID()); ProxyAssertSupport.assertEquals("test", r.getText()); } finally { if (pconn != null) { pconn.close(); } if (cconn != null) { cconn.close(); } } }
private void transactedSend(final boolean persistent) throws Exception { Connection pconn = null; Connection cconn = null; try { pconn = createConnection(); cconn = createConnection(); cconn.start(); Session ts = pconn.createSession(true, -1); Session cs = cconn.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer p = ts.createProducer(queue1); MessageConsumer c = cs.createConsumer(queue1); TextMessage m = ts.createTextMessage("test"); p.send(m); ts.commit(); TextMessage r = (TextMessage) c.receive(); ProxyAssertSupport.assertEquals(m.getJMSMessageID(), r.getJMSMessageID()); ProxyAssertSupport.assertEquals("test", r.getText()); } finally { pconn.close(); cconn.close(); } }
/** * Use the asynchronous subscription mechanism */ @Override public void onMessage(Message message) { try { TextMessage requestMessage = (TextMessage) message; System.out.println("Received request from " + requestDestination); System.out.println(requestMessage.toString()); Destination replyDestination = requestMessage.getJMSReplyTo(); // TODO // String value = // ActiveMQDestination.getClientId((ActiveMQDestination) // replyDestination); // assertEquals("clientID from the temporary destination must be the // same", clientSideClientID, value); TextMessage replyMessage = serverSession.createTextMessage("Hello: " + requestMessage.getText()); replyMessage.setJMSCorrelationID(requestMessage.getJMSMessageID()); if (dynamicallyCreateProducer) { replyProducer = serverSession.createProducer(replyDestination); replyProducer.send(replyMessage); } else { replyProducer.send(replyDestination, replyMessage); } System.out.println("Sent reply to " + replyDestination); System.out.println(replyMessage.toString()); } catch (JMSException e) { onException(e); } }
private void sendToTopic(final boolean persistent) throws Exception { Connection pconn = createConnection(); Connection cconn = createConnection(); try { Session ps = pconn.createSession(false, Session.AUTO_ACKNOWLEDGE); Session cs = cconn.createSession(false, Session.AUTO_ACKNOWLEDGE); final MessageProducer p = ps.createProducer(ActiveMQServerTestCase.topic1); p.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT); MessageConsumer c = cs.createConsumer(ActiveMQServerTestCase.topic1); cconn.start(); TextMessage m1 = ps.createTextMessage("test"); Sender sender = new Sender(p, m1); Thread t = new Thread(sender, "Producer Thread"); t.start(); TextMessage m2 = (TextMessage) c.receive(5000); if (sender.ex != null) { // If an exception was caught in sending we rethrow here so as not to lose it throw sender.ex; } ProxyAssertSupport.assertEquals(m2.getJMSMessageID(), m1.getJMSMessageID()); ProxyAssertSupport.assertEquals("test", m2.getText()); t.join(); } finally { pconn.close(); cconn.close(); } }
@Test public void testJMSMessageIDOnSelector() throws Exception { Connection conn = null; try { conn = getConnectionFactory().createConnection(); conn.start(); Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer prod = session.createProducer(queue1); TextMessage msg1 = session.createTextMessage("msg1"); prod.send(msg1); TextMessage msg2 = session.createTextMessage("msg2"); prod.send(msg2); String selector = "JMSMessageID = '" + msg2.getJMSMessageID() + "'"; MessageConsumer cons = session.createConsumer(queue1, selector); conn.start(); TextMessage rec = (TextMessage) cons.receive(10000); assertNotNull(rec); Assert.assertEquals("msg2", rec.getText()); assertNull(cons.receiveNoWait()); } finally { if (conn != null) { conn.close(); } } }
@Override public JmsRecord mapMessage(Message message) throws Exception { TextMessage textMessage = (TextMessage) message; Map<String, Object> properties = new HashMap<>(); @SuppressWarnings("rawtypes") Enumeration propertyNames = textMessage.getPropertyNames(); while (propertyNames.hasMoreElements()) { String propertyName = (String) propertyNames.nextElement(); properties.put(propertyName, textMessage.getObjectProperty(propertyName)); } JmsRecord jmsRecord = new JmsRecord( textMessage.getJMSMessageID(), textMessage.getJMSTimestamp(), textMessage.getJMSCorrelationID(), textMessage.getJMSReplyTo(), textMessage.getJMSDestination(), textMessage.getJMSDeliveryMode(), textMessage.getJMSRedelivered(), textMessage.getJMSType(), textMessage.getJMSExpiration(), textMessage.getJMSPriority(), properties, textMessage.getText()); return jmsRecord; } })
for (int idx = 0; idx < 5; ++idx) { msg = (TextMessage) consumer.receive(1000); System.out.println("received: " + idx + ", msg: " + msg.getJMSMessageID()); msg.acknowledge();
MessageProducer prod = sess.createProducer(queue1); TextMessage tm1 = sess.createTextMessage("hello1"); log.trace(tm1.getJMSMessageID()); TextMessage tm2 = sess.createTextMessage("hello2"); TextMessage tm3 = sess.createTextMessage("hello3"); ProxyAssertSupport.assertNotNull(rm1); ProxyAssertSupport.assertEquals("hello1", rm1.getText()); log.trace(rm1.getJMSMessageID()); log.trace(rm1.getJMSMessageID());
msg = (TextMessage) consumer.receive(1000); assertNotNull("Got a message", msg); System.out.println("received: " + idx + ", msg: " + msg.getJMSMessageID()); msg.acknowledge();
System.out.println("after sending a message we get message id "+ textMessage.getJMSMessageID()); String jmsCorrelationID = " JMSCorrelationID = '" + textMessage.getJMSMessageID() + "'";
System.out.println(tm.getJMSMessageID() + " text = " + text);