@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; } })
@Test public void testRedeliveredFlagTopic() throws Exception { Connection conn = null; try { conn = createConnection(); Session sessSend = conn.createSession(true, Session.SESSION_TRANSACTED); Session sess1 = conn.createSession(true, Session.SESSION_TRANSACTED); MessageConsumer consumer1 = sess1.createConsumer(ActiveMQServerTestCase.topic1); MessageProducer producer = sessSend.createProducer(ActiveMQServerTestCase.topic1); Message mSent = sessSend.createTextMessage("igloo"); producer.send(mSent); sessSend.commit(); conn.start(); TextMessage mRec1 = (TextMessage) consumer1.receive(2000); ProxyAssertSupport.assertNotNull(mRec1); ProxyAssertSupport.assertEquals("igloo", mRec1.getText()); ProxyAssertSupport.assertFalse(mRec1.getJMSRedelivered()); sess1.rollback(); // causes redelivery for session mRec1 = (TextMessage) consumer1.receive(2000); ProxyAssertSupport.assertEquals("igloo", mRec1.getText()); ProxyAssertSupport.assertTrue(mRec1.getJMSRedelivered()); sess1.commit(); } finally { if (conn != null) { conn.close(); } } }
latch.countDown(); if (!tm.getJMSRedelivered()) { failed = true; latch.countDown();
/** * Make sure redelivered flag is set on redelivery via rollback */ @Test public void testRedeliveredQueue() throws Exception { Connection conn = null; try { conn = createConnection(); Session sess = conn.createSession(true, Session.SESSION_TRANSACTED); MessageProducer producer = sess.createProducer(queue1); MessageConsumer consumer = sess.createConsumer(queue1); conn.start(); Message mSent = sess.createTextMessage("igloo"); producer.send(mSent); sess.commit(); TextMessage mRec = (TextMessage) consumer.receive(2000); ProxyAssertSupport.assertEquals("igloo", mRec.getText()); ProxyAssertSupport.assertFalse(mRec.getJMSRedelivered()); sess.rollback(); mRec = (TextMessage) consumer.receive(2000); ProxyAssertSupport.assertEquals("igloo", mRec.getText()); ProxyAssertSupport.assertTrue(mRec.getJMSRedelivered()); sess.commit(); } finally { if (conn != null) { conn.close(); } } }
/** * Test redelivery works ok for Topic */ @Test public void testRedeliveredTopic() throws Exception { Connection conn = null; try { conn = createConnection(); Session sess = conn.createSession(true, Session.SESSION_TRANSACTED); MessageProducer producer = sess.createProducer(ActiveMQServerTestCase.topic1); MessageConsumer consumer = sess.createConsumer(ActiveMQServerTestCase.topic1); conn.start(); Message mSent = sess.createTextMessage("igloo"); producer.send(mSent); sess.commit(); TextMessage mRec = (TextMessage) consumer.receive(2000); ProxyAssertSupport.assertEquals("igloo", mRec.getText()); ProxyAssertSupport.assertFalse(mRec.getJMSRedelivered()); sess.rollback(); mRec = (TextMessage) consumer.receive(2000); ProxyAssertSupport.assertNotNull(mRec); ProxyAssertSupport.assertEquals("igloo", mRec.getText()); ProxyAssertSupport.assertTrue(mRec.getJMSRedelivered()); sess.commit(); } finally { if (conn != null) { conn.close(); } } }
ProxyAssertSupport.assertFalse(tm.getJMSRedelivered()); ProxyAssertSupport.assertEquals(1, tm.getIntProperty("JMSXDeliveryCount")); ProxyAssertSupport.assertTrue(tm.getJMSRedelivered()); } finally { if (conn != null) {
ProxyAssertSupport.assertEquals("testRedeliveredDifferentSessions", tm3.getText()); ProxyAssertSupport.assertTrue(tm3.getJMSRedelivered()); } finally { if (producerConnection != null) {
latch.countDown(); if (!tm.getJMSRedelivered()) { failed("Message was supposed to be a redelivery"); latch.countDown();
ProxyAssertSupport.assertFalse(tm.getJMSRedelivered()); ProxyAssertSupport.assertTrue(tm.getJMSRedelivered()); ProxyAssertSupport.assertTrue(tm.getJMSRedelivered());
assertEquals(false, msg.getJMSRedelivered()); assertEquals(true, msg.getJMSRedelivered());
assertEquals(false, msg.getJMSRedelivered()); assertEquals(true, msg.getJMSRedelivered());
Assert.assertEquals(false, msg.getJMSRedelivered()); Assert.assertEquals(true, msg.getJMSRedelivered());
Assert.assertEquals(false, msg.getJMSRedelivered()); Assert.assertEquals(true, msg.getJMSRedelivered());