javax.jms.Message.getJMSTimestamp()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(359)

本文整理了Java中javax.jms.Message.getJMSTimestamp()方法的一些代码示例,展示了Message.getJMSTimestamp()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getJMSTimestamp()方法的具体详情如下:
包路径:javax.jms.Message
类名称:Message
方法名:getJMSTimestamp

Message.getJMSTimestamp介绍

[英]Gets the message timestamp.

The JMSTimestamp header field contains the time a message was handed off to a provider to be sent. It is not the time the message was actually transmitted, because the actual send may occur later due to transactions or other client-side queueing of messages.

When a message is sent, JMSTimestamp is ignored. When the send or publishmethod returns, it contains a time value somewhere in the interval between the call and the return. The value is in the format of a normal millis time value in the Java programming language.

Since timestamps take some effort to create and increase a message's size, some JMS providers may be able to optimize message overhead if they are given a hint that the timestamp is not used by an application. By calling the MessageProducer.setDisableMessageTimestamp method, a JMS client enables this potential optimization for all messages sent by that message producer. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint, the timestamp must be set to its normal value.
[中]获取消息时间戳。
JMSTimestamp标头字段包含将消息传递给要发送的提供者的时间。这不是消息实际传输的时间,因为由于事务或其他客户端消息排队,实际发送可能会在稍后发生。
发送消息时,JMSTimestamp将被忽略。当send或publishmethod返回时,它在调用和返回之间的某个时间间隔中包含一个时间值。该值的格式为Java编程语言中的正常毫秒时间值。
由于时间戳需要一些努力来创建和增加消息的大小,因此如果一些JMS提供程序得到应用程序未使用时间戳的提示,它们可能能够优化消息开销。打电话给消息制作人。setDisableMessageTimestamp方法,JMS客户机为该消息生产者发送的所有消息启用此潜在优化。如果JMS提供程序接受此提示,则这些消息的时间戳必须设置为零;如果提供程序忽略该提示,则必须将时间戳设置为其正常值。

代码示例

代码示例来源:origin: log4j/log4j

  1. sbuf.append(m.getJMSTimestamp());

代码示例来源:origin: spring-projects/spring-framework

  1. headers.put(JmsHeaders.TIMESTAMP, jmsMessage.getJMSTimestamp());

代码示例来源:origin: apache/nifi

  1. private Map<String, String> extractMessageHeaders(final Message message) throws JMSException {
  2. final Map<String, String> messageHeaders = new HashMap<>();
  3. messageHeaders.put(JmsHeaders.DELIVERY_MODE, String.valueOf(message.getJMSDeliveryMode()));
  4. messageHeaders.put(JmsHeaders.EXPIRATION, String.valueOf(message.getJMSExpiration()));
  5. messageHeaders.put(JmsHeaders.PRIORITY, String.valueOf(message.getJMSPriority()));
  6. messageHeaders.put(JmsHeaders.REDELIVERED, String.valueOf(message.getJMSRedelivered()));
  7. messageHeaders.put(JmsHeaders.TIMESTAMP, String.valueOf(message.getJMSTimestamp()));
  8. messageHeaders.put(JmsHeaders.CORRELATION_ID, message.getJMSCorrelationID());
  9. messageHeaders.put(JmsHeaders.MESSAGE_ID, message.getJMSMessageID());
  10. messageHeaders.put(JmsHeaders.TYPE, message.getJMSType());
  11. String replyToDestinationName = this.retrieveDestinationName(message.getJMSReplyTo(), JmsHeaders.REPLY_TO);
  12. if (replyToDestinationName != null) {
  13. messageHeaders.put(JmsHeaders.REPLY_TO, replyToDestinationName);
  14. }
  15. String destinationName = this.retrieveDestinationName(message.getJMSDestination(), JmsHeaders.DESTINATION);
  16. if (destinationName != null) {
  17. messageHeaders.put(JmsHeaders.DESTINATION, destinationName);
  18. }
  19. return messageHeaders;
  20. }

代码示例来源:origin: apache/nifi

  1. attributes.put(ATTRIBUTE_PREFIX + JMS_PRIORITY, String.valueOf(message.getJMSPriority()));
  2. attributes.put(ATTRIBUTE_PREFIX + JMS_REDELIVERED, String.valueOf(message.getJMSRedelivered()));
  3. attributes.put(ATTRIBUTE_PREFIX + JMS_TIMESTAMP, String.valueOf(message.getJMSTimestamp()));
  4. return attributes;

代码示例来源:origin: wildfly/wildfly

  1. protected ActiveMQMessage(final Message foreign, final byte type, final ClientSession session) throws JMSException {
  2. this(type, session);
  3. setJMSTimestamp(foreign.getJMSTimestamp());

代码示例来源:origin: apache/activemq

  1. /**
  2. * Copies the standard JMS and user defined properties from the givem
  3. * message to the specified message
  4. *
  5. * @param fromMessage the message to take the properties from
  6. * @param toMessage the message to add the properties to
  7. * @throws JMSException
  8. */
  9. public static void copyProperties(Message fromMessage, Message toMessage) throws JMSException {
  10. toMessage.setJMSMessageID(fromMessage.getJMSMessageID());
  11. toMessage.setJMSCorrelationID(fromMessage.getJMSCorrelationID());
  12. toMessage.setJMSReplyTo(transformDestination(fromMessage.getJMSReplyTo()));
  13. toMessage.setJMSDestination(transformDestination(fromMessage.getJMSDestination()));
  14. toMessage.setJMSDeliveryMode(fromMessage.getJMSDeliveryMode());
  15. toMessage.setJMSRedelivered(fromMessage.getJMSRedelivered());
  16. toMessage.setJMSType(fromMessage.getJMSType());
  17. toMessage.setJMSExpiration(fromMessage.getJMSExpiration());
  18. toMessage.setJMSPriority(fromMessage.getJMSPriority());
  19. toMessage.setJMSTimestamp(fromMessage.getJMSTimestamp());
  20. Enumeration propertyNames = fromMessage.getPropertyNames();
  21. while (propertyNames.hasMoreElements()) {
  22. String name = propertyNames.nextElement().toString();
  23. Object obj = fromMessage.getObjectProperty(name);
  24. toMessage.setObjectProperty(name, obj);
  25. }
  26. }
  27. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void jmsReadOnlyPropertiesNotMapped() throws JMSException {
  3. Message<String> message = initBuilder()
  4. .setHeader(JmsHeaders.DESTINATION, new Destination() {})
  5. .setHeader(JmsHeaders.DELIVERY_MODE, DeliveryMode.NON_PERSISTENT)
  6. .setHeader(JmsHeaders.EXPIRATION, 1000L)
  7. .setHeader(JmsHeaders.MESSAGE_ID, "abc-123")
  8. .setHeader(JmsHeaders.PRIORITY, 9)
  9. .setHeader(JmsHeaders.REDELIVERED, true)
  10. .setHeader(JmsHeaders.TIMESTAMP, System.currentTimeMillis())
  11. .build();
  12. javax.jms.Message jmsMessage = new StubTextMessage();
  13. mapper.fromHeaders(message.getHeaders(), jmsMessage);
  14. assertNull(jmsMessage.getJMSDestination());
  15. assertEquals(DeliveryMode.PERSISTENT, jmsMessage.getJMSDeliveryMode());
  16. assertEquals(0, jmsMessage.getJMSExpiration());
  17. assertNull(jmsMessage.getJMSMessageID());
  18. assertEquals(javax.jms.Message.DEFAULT_PRIORITY, jmsMessage.getJMSPriority());
  19. assertFalse(jmsMessage.getJMSRedelivered());
  20. assertEquals(0, jmsMessage.getJMSTimestamp());
  21. }

代码示例来源:origin: apache/log4j

  1. sbuf.append(m.getJMSTimestamp());

代码示例来源:origin: spring-projects/spring-integration

  1. headers.put(JmsHeaders.TIMESTAMP, jmsMessage.getJMSTimestamp());

代码示例来源:origin: org.jboss.jbossas/jboss-as-connector

  1. public long getJMSTimestamp() throws JMSException
  2. {
  3. return message.getJMSTimestamp();
  4. }

代码示例来源:origin: hazelcast/hazelcast-jet

  1. private long handleJmsTimestamp(Message msg) {
  2. try {
  3. // as per `getJMSTimestamp` javadoc, it can return 0 if the timestamp was optimized away
  4. return msg.getJMSTimestamp() == 0 ? EventTimeMapper.NO_NATIVE_TIME : msg.getJMSTimestamp();
  5. } catch (JMSException e) {
  6. throw sneakyThrow(e);
  7. }
  8. }

代码示例来源:origin: org.apache.qpid/qpid-jca

  1. /**
  2. * Get timestamp
  3. * @return The value
  4. * @exception JMSException Thrown if an error occurs
  5. */
  6. public long getJMSTimestamp() throws JMSException
  7. {
  8. if (_log.isTraceEnabled())
  9. {
  10. _log.trace("getJMSTimestamp()");
  11. }
  12. return _message.getJMSTimestamp();
  13. }

代码示例来源:origin: org.apache.jmeter/ApacheJMeter_jms

  1. public static StringBuilder requestHeaders(StringBuilder sb, Message msg){
  2. try {
  3. sb.append("JMSCorrelationId ").append(msg.getJMSCorrelationID()).append('\n');
  4. sb.append("JMSMessageId ").append(msg.getJMSMessageID()).append('\n');
  5. sb.append("JMSTimestamp ").append(msg.getJMSTimestamp()).append('\n');
  6. sb.append("JMSType ").append(msg.getJMSType()).append('\n');
  7. sb.append("JMSExpiration ").append(msg.getJMSExpiration()).append('\n');
  8. sb.append("JMSPriority ").append(msg.getJMSPriority()).append('\n');
  9. sb.append("JMSDestination ").append(msg.getJMSDestination()).append('\n');
  10. } catch (JMSException e) {
  11. sb.append("\nError: "+e.toString());
  12. }
  13. return sb;
  14. }

代码示例来源:origin: org.seasar.jms/s2jms-core

  1. public long getTimestamp() {
  2. if (message == null) {
  3. throw new EmptyRuntimeException("message");
  4. }
  5. try {
  6. return message.getJMSTimestamp();
  7. } catch (final JMSException e) {
  8. throw new SJMSRuntimeException("EJMS0001", new Object[] { e }, e);
  9. }
  10. }

代码示例来源:origin: apache/activemq-artemis

  1. /**
  2. * Get timestamp
  3. *
  4. * @return The value
  5. * @throws JMSException Thrown if an error occurs
  6. */
  7. @Override
  8. public long getJMSTimestamp() throws JMSException {
  9. if (ActiveMQRALogger.LOGGER.isTraceEnabled()) {
  10. ActiveMQRALogger.LOGGER.trace("getJMSTimestamp()");
  11. }
  12. return message.getJMSTimestamp();
  13. }

代码示例来源:origin: org.seasar.jms/s2jms-core

  1. public long getTimestamp() {
  2. if (message == null) {
  3. throw new EmptyRuntimeException("message");
  4. }
  5. try {
  6. return message.getJMSTimestamp();
  7. } catch (final JMSException e) {
  8. throw new SJMSRuntimeException("EJMS0001", new Object[] { e }, e);
  9. }
  10. }

代码示例来源:origin: org.apache.activemq/artemis-ra

  1. /**
  2. * Get timestamp
  3. *
  4. * @return The value
  5. * @throws JMSException Thrown if an error occurs
  6. */
  7. @Override
  8. public long getJMSTimestamp() throws JMSException {
  9. if (ActiveMQRALogger.LOGGER.isTraceEnabled()) {
  10. ActiveMQRALogger.LOGGER.trace("getJMSTimestamp()");
  11. }
  12. return message.getJMSTimestamp();
  13. }

代码示例来源:origin: org.apache.beam/beam-sdks-java-io-jms

  1. protected void addMessage(Message message) throws Exception {
  2. Instant currentMessageTimestamp = new Instant(message.getJMSTimestamp());
  3. state.atomicWrite(
  4. () -> {
  5. state.updateOldestPendingTimestampIf(currentMessageTimestamp, Instant::isBefore);
  6. state.addMessage(message);
  7. });
  8. }

代码示例来源:origin: apache/activemq-artemis

  1. @Test
  2. public void testJMSTimestamp() throws Exception {
  3. Message m = queueProducerSession.createMessage();
  4. long t1 = System.currentTimeMillis();
  5. queueProducer.send(m);
  6. long t2 = System.currentTimeMillis();
  7. long timestamp = queueConsumer.receive().getJMSTimestamp();
  8. ProxyAssertSupport.assertTrue(timestamp >= t1);
  9. ProxyAssertSupport.assertTrue(timestamp <= t2);
  10. }

代码示例来源:origin: apache/activemq-artemis

  1. @Test
  2. public void testDisabledTimestamp() throws Exception {
  3. Message m = queueProducerSession.createMessage();
  4. queueProducer.setDisableMessageTimestamp(true);
  5. queueProducer.send(m);
  6. ProxyAssertSupport.assertEquals(0L, queueConsumer.receive().getJMSTimestamp());
  7. }

相关文章