try { sbuf.append("DeliveryMode="); switch(m.getJMSDeliveryMode()) { case DeliveryMode.NON_PERSISTENT : sbuf.append("NON_PERSISTENT");
int deliveryMode = jmsMessage.getJMSDeliveryMode(); headers.put(JmsHeaders.DELIVERY_MODE, deliveryMode);
private Map<String, String> extractMessageHeaders(final Message message) throws JMSException { final Map<String, String> messageHeaders = new HashMap<>(); messageHeaders.put(JmsHeaders.DELIVERY_MODE, String.valueOf(message.getJMSDeliveryMode())); messageHeaders.put(JmsHeaders.EXPIRATION, String.valueOf(message.getJMSExpiration())); messageHeaders.put(JmsHeaders.PRIORITY, String.valueOf(message.getJMSPriority())); messageHeaders.put(JmsHeaders.REDELIVERED, String.valueOf(message.getJMSRedelivered())); messageHeaders.put(JmsHeaders.TIMESTAMP, String.valueOf(message.getJMSTimestamp())); messageHeaders.put(JmsHeaders.CORRELATION_ID, message.getJMSCorrelationID()); messageHeaders.put(JmsHeaders.MESSAGE_ID, message.getJMSMessageID()); messageHeaders.put(JmsHeaders.TYPE, message.getJMSType()); String replyToDestinationName = this.retrieveDestinationName(message.getJMSReplyTo(), JmsHeaders.REPLY_TO); if (replyToDestinationName != null) { messageHeaders.put(JmsHeaders.REPLY_TO, replyToDestinationName); } String destinationName = this.retrieveDestinationName(message.getJMSDestination(), JmsHeaders.DESTINATION); if (destinationName != null) { messageHeaders.put(JmsHeaders.DESTINATION, destinationName); } return messageHeaders; }
attributes.put(ATTRIBUTE_PREFIX + JMS_DELIVERY_MODE, String.valueOf(message.getJMSDeliveryMode())); attributes.put(ATTRIBUTE_PREFIX + JMS_EXPIRATION, String.valueOf(message.getJMSExpiration())); attributes.put(ATTRIBUTE_PREFIX + JMS_PRIORITY, String.valueOf(message.getJMSPriority()));
setJMSDeliveryMode(foreign.getJMSDeliveryMode()); setJMSExpiration(foreign.getJMSExpiration()); setJMSPriority(foreign.getJMSPriority());
/** * Copies the standard JMS and user defined properties from the givem * message to the specified message * * @param fromMessage the message to take the properties from * @param toMessage the message to add the properties to * @throws JMSException */ public static void copyProperties(Message fromMessage, Message toMessage) throws JMSException { toMessage.setJMSMessageID(fromMessage.getJMSMessageID()); toMessage.setJMSCorrelationID(fromMessage.getJMSCorrelationID()); toMessage.setJMSReplyTo(transformDestination(fromMessage.getJMSReplyTo())); toMessage.setJMSDestination(transformDestination(fromMessage.getJMSDestination())); toMessage.setJMSDeliveryMode(fromMessage.getJMSDeliveryMode()); toMessage.setJMSRedelivered(fromMessage.getJMSRedelivered()); toMessage.setJMSType(fromMessage.getJMSType()); toMessage.setJMSExpiration(fromMessage.getJMSExpiration()); toMessage.setJMSPriority(fromMessage.getJMSPriority()); toMessage.setJMSTimestamp(fromMessage.getJMSTimestamp()); Enumeration propertyNames = fromMessage.getPropertyNames(); while (propertyNames.hasMoreElements()) { String name = propertyNames.nextElement().toString(); Object obj = fromMessage.getObjectProperty(name); toMessage.setObjectProperty(name, obj); } } }
@Test public void jmsReadOnlyPropertiesNotMapped() throws JMSException { Message<String> message = initBuilder() .setHeader(JmsHeaders.DESTINATION, new Destination() {}) .setHeader(JmsHeaders.DELIVERY_MODE, DeliveryMode.NON_PERSISTENT) .setHeader(JmsHeaders.EXPIRATION, 1000L) .setHeader(JmsHeaders.MESSAGE_ID, "abc-123") .setHeader(JmsHeaders.PRIORITY, 9) .setHeader(JmsHeaders.REDELIVERED, true) .setHeader(JmsHeaders.TIMESTAMP, System.currentTimeMillis()) .build(); javax.jms.Message jmsMessage = new StubTextMessage(); mapper.fromHeaders(message.getHeaders(), jmsMessage); assertNull(jmsMessage.getJMSDestination()); assertEquals(DeliveryMode.PERSISTENT, jmsMessage.getJMSDeliveryMode()); assertEquals(0, jmsMessage.getJMSExpiration()); assertNull(jmsMessage.getJMSMessageID()); assertEquals(javax.jms.Message.DEFAULT_PRIORITY, jmsMessage.getJMSPriority()); assertFalse(jmsMessage.getJMSRedelivered()); assertEquals(0, jmsMessage.getJMSTimestamp()); }
try { sbuf.append("DeliveryMode="); switch(m.getJMSDeliveryMode()) { case DeliveryMode.NON_PERSISTENT : sbuf.append("NON_PERSISTENT");
headers.put(JmsHeaders.DELIVERY_MODE, jmsMessage.getJMSDeliveryMode());
@Override public int getJMSDeliveryMode() throws JMSException { return message.getJMSDeliveryMode(); }
public int getJMSDeliveryMode() throws JMSException { return message.getJMSDeliveryMode(); }
/** * Get delivery mode * @return The value * @exception JMSException Thrown if an error occurs */ public int getJMSDeliveryMode() throws JMSException { if (_log.isTraceEnabled()) { _log.trace("getJMSDeliveryMode()"); } return _message.getJMSDeliveryMode(); }
/** * Get delivery mode * * @return The value * @throws JMSException Thrown if an error occurs */ @Override public int getJMSDeliveryMode() throws JMSException { if (ActiveMQRALogger.LOGGER.isTraceEnabled()) { ActiveMQRALogger.LOGGER.trace("getJMSDeliveryMode()"); } return message.getJMSDeliveryMode(); }
/** * Get delivery mode * * @return The value * @throws JMSException Thrown if an error occurs */ @Override public int getJMSDeliveryMode() throws JMSException { if (ActiveMQRALogger.LOGGER.isTraceEnabled()) { ActiveMQRALogger.LOGGER.trace("getJMSDeliveryMode()"); } return message.getJMSDeliveryMode(); }
/** * Override so we can support preserving the Qos settings that have * been set on the message. */ protected void doSend(MessageProducer producer, Message message) throws JMSException { if (isPreserveMessageQos()) { producer.send(message, message.getJMSDeliveryMode(), message.getJMSPriority(), getTimeToLive(message)); } else { super.doSend(producer, message); } }
@Test public void testPersistentDeliveryMode() throws Exception { queueProducer.setDeliveryMode(DeliveryMode.PERSISTENT); ProxyAssertSupport.assertEquals(DeliveryMode.PERSISTENT, queueProducer.getDeliveryMode()); Message m = queueProducerSession.createMessage(); queueProducer.send(m); ProxyAssertSupport.assertEquals(DeliveryMode.PERSISTENT, queueConsumer.receive().getJMSDeliveryMode()); }
@Test public void testPersistentSend() throws Exception { prepareMessage(message); queueProd.setDeliveryMode(DeliveryMode.PERSISTENT); queueProd.send(message); Message r = queueCons.receive(1000); ProxyAssertSupport.assertNotNull(r); ProxyAssertSupport.assertEquals(DeliveryMode.PERSISTENT, r.getJMSDeliveryMode()); assertEquivalent(r, DeliveryMode.PERSISTENT); }
@Test public void testNonPersistentDeliveryMode() throws Exception { queueProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); ProxyAssertSupport.assertEquals(DeliveryMode.NON_PERSISTENT, queueProducer.getDeliveryMode()); Message m = queueProducerSession.createMessage(); queueProducer.send(m); ProxyAssertSupport.assertEquals(DeliveryMode.NON_PERSISTENT, queueConsumer.receive().getJMSDeliveryMode()); }
@Override public void send(Destination destination, Message message) throws JMSException { internalSend((RMQDestination) destination, message, message.propertyExists(JMS_MESSAGE_DELIVERY_MODE) ? message.getJMSDeliveryMode() : getDeliveryMode(), message.propertyExists(JMS_MESSAGE_PRIORITY) ? message.getJMSPriority() : getPriority(), message.propertyExists(JMS_MESSAGE_EXPIRATION) ? message.getJMSExpiration() : getTimeToLive(), message.propertyExists(JMS_MESSAGE_EXPIRATION) ? MessageExpirationType.EXPIRATION : MessageExpirationType.TTL); }
@Test public void testNonPersistentSend() throws Exception { prepareMessage(message); queueProd.setDeliveryMode(DeliveryMode.NON_PERSISTENT); queueProd.send(message); log.debug("Message sent"); Message r = queueCons.receive(2000); ProxyAssertSupport.assertNotNull(r); log.debug("Message received"); ProxyAssertSupport.assertEquals(DeliveryMode.NON_PERSISTENT, r.getJMSDeliveryMode()); assertEquivalent(r, DeliveryMode.NON_PERSISTENT); }