Java消息服务~自动分配的消息头

消息头的值由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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

员工辞职的十大原因!

美国企管顾问史密斯(Gregory Smith),日前在《CEO Refresher》杂志上指出,根据他多年的顾问经验,员工辞职的十大原因为: 1、员工的工作量过重,造成他们必须在晚上或周末加班。 2、公司…

1115 Counting Nodes in a BST(甲级)

1115 Counting Nodes in a BST (30分) A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys less than or equal to the node’s key. The right subtree of …

Codeforces Round 917 (Div. 2)(A~D)(又是数学题)

A - Least Product 题意&#xff1a; 思路&#xff1a;若有奇数个负数&#xff0c;则不需要任何操作。若存在0&#xff0c;也不需要任何操作。其余情况将任意一个数改为0即可。 #include <bits/stdc.h> using namespace std; void solve() {int n;cin >> n;int …

权威发布:新一代人工智能发展白皮书(2017)

来源&#xff1a;机器人大讲堂指导单位、专家顾问及编写人员顾 问潘云鹤 中国工程院院士指导单位工业和信息化部信息化和软件服务业司指导委员会谢少锋 工信部信软司司长李冠宇 工信部信软司副司长徐晓兰 中国电子学会副理事长兼秘书长张宏图 中国电子学会总部…

Python 的 Gevent --- 高性能的 Python 并发框架

From&#xff1a;http://www.xuebuyuan.com/1604603.html Gevent 指南(英文)&#xff1a;http://sdiehl.github.io/gevent-tutorial Gevent 指南(中文)&#xff1a;http://xlambda.com/gevent-tutorial Gevent 指南(中文)下载地址&#xff1a;http://download.csdn.net/downloa…

AJAX Control Toolkit 控件学习(转自csdn山巅)

AJAX Control Toolkit 控件学习 2006-1-16 ToggleButton 关联ASP.NET CheckBox控件 RoundedCorder 造就圆角框 PasswordStrength TextBox中输入数据长度&#xff0c;以及限制&#xff1b;非常智能&#xff0c;有提示图 DropShadow 造就了照片的背影效果。 ScrollManag…

高通首次推出AI引擎 打包所有软硬件算力

来源&#xff1a;智东西作者&#xff1a;明天2月22日消息&#xff0c;高通宣布推出人工智能引擎&#xff08;AI Engine&#xff09;&#xff0c;让人工智能在终端侧&#xff08;如智能手机&#xff09;上的应用更快速、高效。该AI Engine包括软硬件两部分&#xff0c;在高通骁龙…

Java消息服务~开发者分配的消息头

生产者传送该消息之前在Message 对象上设置 JMSReplyTo 有些情况下&#xff0c;一个JMS消息生产者可能会要求消费者对一条消息做出应答。JMSReplyTo 消息头包含了一个javax.jms.Destination&#xff0c;标明了JMS 消费者应该应答的地址。请注意&#xff1a;如果某条消息头属性…

基金小窍门:如何判断基金的赚与赔

基金申购的时候&#xff0c;除了货币型基金&#xff0c;都有申购费,一般为申购金额的1.5%。 赎回的时候有赎回的手续费&#xff0c;一般为赎回金额的0.5%; 你只要记住两个单位净值就可以了&#xff1a;申购当日的基金单位净值&#xff08;记做x&#xff09;&#xff0c…

python Lambda 表达式

来源:http://www.cnblogs.com/jydeng/p/4145188.html 一、lambda函数 1、lambda函数基础&#xff1a; lambda函数也叫匿名函数&#xff0c;即&#xff0c;函数没有具体的名称,而用def创建的方法是有名称的。如下&#xff1a; """命名的foo函数"""…

一文详解「群体机器人」中的「实体进化」到底是什么?

原文来源&#xff1a;frontiers作者&#xff1a;Nicolas Bredeche、Evert Haasdijk、Abraham Prieto「雷克世界」编译&#xff1a;嗯~阿童木呀、KABUDA本文概述了适用于机器人群体&#xff08;robot collectives&#xff09;在线分布式进化的进化机器人技术&#xff0c;即实体进…

Java消息服务~JMSReplyTo示例

在下面的例子中&#xff0c;首先创建两个Queue&#xff0c;发送者给一个Queue发送&#xff0c;接收者接收到消息之后给另一个Queue回复一个Message&#xff0c;然后再创建一个消费者来接受所回复的消息 import javax.jms.Connection; import javax.jms.JMSException; impo…

prototype.js1.5平面结果导读图

转载于:https://www.cnblogs.com/zjypp/archive/2007/10/16/2319458.html

NumPy的详细教程

来源&#xff1a;http://blog.csdn.net/lsjseu/article/details/20359201 用 Python 做科学计算(PDF源码)&#xff1a;https://download.csdn.net/download/freeking101/10959832用 Python 做科学计算&#xff1a;基础篇、手册篇、实战篇&#xff1a;http://old.sebug.net/pap…

美媒评2018年全球十大突破性技术:AI和人工胚胎上榜

来源&#xff1a;新浪科技作者&#xff1a;邱越 斯眉美国《麻省理工科技评论》本周刊文&#xff0c;列出了2018年的10大科技突破。今年入选的技术包括人工智能技术“生成对抗网络”&#xff08;GAN&#xff09;、人工胚胎&#xff0c;以及基于天然气的清洁能源技术等。以下为完…

Java消息服务~消息属性

应用程序特定的属性 应用程序属性在消息传送之前进行设置。一旦一条消息发布或发送后&#xff0c;它就变成了只读&#xff08;read-only&#xff09;属性&#xff1b;消费或生产者都无法修改它的属性。不过可以调用clearProperties()后&#xff0c;修改属性。 TextMessage mes…

Sublime Text 全程图文指引

From&#xff08;Sublime Text 全程指南&#xff09;&#xff1a;http://zh.lucida.me/blog/sublime-text-complete-guide From&#xff08;Sublime Text 3 全程详细图文原创教程&#xff09;&#xff1a;http://www.qdfuns.com/notes/15088/7f1b1a378c5b85c179571e0860f2baad.…

设计模式分析

聚合&#xff0c;层次设计模式&#xff1a;适用于层次关系例子&#xff1a;publicclassFee { privatefloatvaluee 0; publicstringGetName() { //返回费用的名称} publicboolHasChildren() { //该费用类型是否有子类型} …

买家和卖家也可以这样对话

买家&#xff1a;请问欧版和行货为什么要分开卖&#xff1f; 卖家&#xff1a;因为粘在一起不方便使用 买家&#xff1a;。。。。。。。。 买家&#xff1a;老板&#xff0c;你说欧版质量好&#xff0c;还是行货质量好&#xff1f; 卖家&#xff1a;也许是欧版的吧&#xff01;…

Java Web开发技术详解~Web的概念

Web 是一种分布式应用架构&#xff0c;旨在共享分布在网络上的各个Web服务器中的所有互相链接的信息。 Web 采用客户/服务器通信模式&#xff0c;客户与服务器之间用HTTP协议通信。 Web 使用超级文本技术&#xff08;HTML&#xff09;来链接网络上的信息。信息存放在服务器端&a…