sbuf.append(m.getJMSExpiration());
long expiration = jmsMessage.getJMSExpiration(); headers.put(JmsHeaders.EXPIRATION, expiration);
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_EXPIRATION, String.valueOf(message.getJMSExpiration())); attributes.put(ATTRIBUTE_PREFIX + JMS_PRIORITY, String.valueOf(message.getJMSPriority())); attributes.put(ATTRIBUTE_PREFIX + JMS_REDELIVERED, String.valueOf(message.getJMSRedelivered()));
setJMSDestination(foreign.getJMSDestination()); setJMSDeliveryMode(foreign.getJMSDeliveryMode()); setJMSExpiration(foreign.getJMSExpiration()); setJMSPriority(foreign.getJMSPriority()); setJMSType(foreign.getJMSType());
/** * 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()); }
sbuf.append(m.getJMSExpiration());
headers.put(JmsHeaders.EXPIRATION, jmsMessage.getJMSExpiration());
@Override public long getJMSExpiration() throws JMSException { return message.getJMSExpiration(); }
public long getJMSExpiration() throws JMSException { return message.getJMSExpiration(); }
assertNotNull(message.get()); assertEquals(5, message.get().getJMSPriority()); assertTrue(message.get().getJMSExpiration() <= System.currentTimeMillis() + ttl); assertTrue(message.get().toString().contains("persistent = false")); message.set(null); assertNotNull(message.get()); assertEquals(6, message.get().getJMSPriority()); assertTrue(message.get().getJMSExpiration() <= System.currentTimeMillis() + ttl); assertTrue(message.get().toString().contains("persistent = false")); exec.shutdownNow();
private boolean isTimedOut(final javax.jms.Message request) throws JMSException { if (request.getJMSExpiration() > 0) { ZonedDateTime dateTime = ZonedDateTime.now(ZoneOffset.UTC); long timeToLive = request.getJMSExpiration() - dateTime.toInstant().toEpochMilli(); if (timeToLive < 0) { getLogger() .log(Level.INFO, "Message time to live is already expired skipping response."); return true; } } return false; }
public static StringBuilder requestHeaders(StringBuilder sb, Message msg){ try { sb.append("JMSCorrelationId ").append(msg.getJMSCorrelationID()).append('\n'); sb.append("JMSMessageId ").append(msg.getJMSMessageID()).append('\n'); sb.append("JMSTimestamp ").append(msg.getJMSTimestamp()).append('\n'); sb.append("JMSType ").append(msg.getJMSType()).append('\n'); sb.append("JMSExpiration ").append(msg.getJMSExpiration()).append('\n'); sb.append("JMSPriority ").append(msg.getJMSPriority()).append('\n'); sb.append("JMSDestination ").append(msg.getJMSDestination()).append('\n'); } catch (JMSException e) { sb.append("\nError: "+e.toString()); } return sb; }
public long getExpiration() { if (message == null) { throw new EmptyRuntimeException("message"); } try { return message.getJMSExpiration(); } catch (final JMSException e) { throw new SJMSRuntimeException("EJMS0001", new Object[] { e }, e); } }
/** * Get expiration * * @return The value * @throws JMSException Thrown if an error occurs */ @Override public long getJMSExpiration() throws JMSException { if (ActiveMQRALogger.LOGGER.isTraceEnabled()) { ActiveMQRALogger.LOGGER.trace("getJMSExpiration()"); } return message.getJMSExpiration(); }
public long getExpiration() { if (message == null) { throw new EmptyRuntimeException("message"); } try { return message.getJMSExpiration(); } catch (final JMSException e) { throw new SJMSRuntimeException("EJMS0001", new Object[] { e }, e); } }
/** * Get expiration * * @return The value * @throws JMSException Thrown if an error occurs */ @Override public long getJMSExpiration() throws JMSException { if (ActiveMQRALogger.LOGGER.isTraceEnabled()) { ActiveMQRALogger.LOGGER.trace("getJMSExpiration()"); } return message.getJMSExpiration(); }
@Test public void testZeroExpiration() throws Exception { Message m = queueProducerSession.createMessage(); queueProducer.send(m); ProxyAssertSupport.assertEquals(0, queueConsumer.receive().getJMSExpiration()); }
@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); }