企业网站该怎么做,创意网站推荐,你的网站正在建设中,网站建设推荐中企动力消息头的值由JMS提供者来设置#xff0c;开发者setJMSXxx()分配的值忽略。 JMSDestination 消息头使用一个Topic 或 Queue 对象来标识目的地。
Topic destination (Topic) message.getJMSDestination();
JMSDeliveryMode 在JMS 中#xff0c;传送模式有两种类型#xff1…消息头的值由JMS提供者来设置开发者setJMSXxx()分配的值忽略。 JMSDestination 消息头使用一个Topic 或 Queue 对象来标识目的地。
Topic destination (Topic) message.getJMSDestination();
JMSDeliveryMode 在JMS 中传送模式有两种类型持久模式和非持久模式。 一条持久性消息应该被传送“一次而且仅仅一次”这就意味着如果JMS 提供者出现故障该消息并不会丢失它会在服务器恢复正常之后再次传送。 一条非持久性消息最多只会传送一次这意味着如果JMS 提供者出现故障该消息可能会永久丢失。 在持久性和非持久性这两种传递模式总消息服务器都不会将一条消息向同一消费者发送一次以上。
int deliveryMode message.getJMSDeliveryMode();
if (deliveryMode DeliveryMode.PERSISTENT) {...
} else {...
}
传送模式可以使用生产者TopicPublisher 或 QueueSender的 setJMSDeliveryMode() 方法来设定。默认为PERSISTENT
// 在消息生产者上设置JMS 传送模式
TopicPublisher topicPublisher topicSession.createPublisher(topic);
topicPublisher.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
JMSMessageID JMSMessageID 是一个String 类型的值它唯一地标识了一条消息。至于标识符是如何实现唯一的这取决于厂商。
String messageId message.getJMSMessageID();
JMSTimestamp JMSTimestamp 由 MessageProducer 在调用send() 操作时自动设置。它包含的是JMS 提供者接收消息的时间而不是该消息实际传送的时间。
long timestamp message.getJMSTimestamp();
JMSExpiration 一个Mesage 对象的有效期(expiration date)用来防止把过期的消息传送给消费者。
long timeToLive message.getJMSExpiration();
消息的有效期以毫秒为单位使用setTimeToLive() 方法在生产者TopicPublisher上设置
TopicPublisher topicPublisher topicSession.createPublisher(topic);
// 将生存时间设置为1 小时1000毫秒 * 60 * 60
topicPublisher.setTimeToLive(3600000);
默认将timeToLive 设置为零0这表明该消息没有到期时间。
JMSRedelivered JMSRedelivered 消息头表示该消息将被重新传送给消费者。如果消息被重新传送JMSRedelivered 消息头就为 true否则为 false。
boolean isRedelivered message.getJMSRedelivered();
JMSPriority 消息优先级有两类0~4级是普通优先级而5~9级则是加急优先级。加急优先级的消息要比普通优先级的消息优先传送
int priority message.getJMSPriority();...TopicPublisher topicPublisher topicSession.createPublisher(topic);
topicPublisher.setPriority(9);