Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Transactions 检索JMS消息重试次数_Transactions_Jakarta Ee_Jms_Ejb 3.0_Jboss5.x - Fatal编程技术网

Transactions 检索JMS消息重试次数

Transactions 检索JMS消息重试次数,transactions,jakarta-ee,jms,ejb-3.0,jboss5.x,Transactions,Jakarta Ee,Jms,Ejb 3.0,Jboss5.x,我正在使用JMS队列和MDB来侦听它。 我有一个重试机制,所以当抛出异常时,将发生事务回滚,并重新执行操作/ 我希望在每次执行“onMessage”时获得消息重试次数,这样我就可以写入当前的执行重试次数。 我听说我可以通过消息对象的头来检索它,但在属性或网络中找不到任何内容 有人有线索吗 谢谢, 光线。请参阅javax.jms.Message.getIntProperty。属性名为“JMSXDeliveryCount”。唯一的标准方法是查看JMSXDeliveryCount属性。但是,您应该知道

我正在使用JMS队列和MDB来侦听它。 我有一个重试机制,所以当抛出异常时,将发生事务回滚,并重新执行操作/

我希望在每次执行“onMessage”时获得消息重试次数,这样我就可以写入当前的执行重试次数。 我听说我可以通过消息对象的头来检索它,但在属性或网络中找不到任何内容

有人有线索吗

谢谢,
光线。

请参阅javax.jms.Message.getIntProperty。属性名为“JMSXDeliveryCount”。

唯一的标准方法是查看JMSXDeliveryCount属性。但是,您应该知道,JMS规范规定JMS定义的属性(以JMSX开头的属性)是可选的,因此它取决于您的特定提供商是否支持此属性,并且在每种情况下都进行设置。

来自oracle教程[第45.3.7.2节消息属性:

JMS API提供了一些以JMSX开头的预定义属性名称。JMS提供程序只需实现其中一个,即JMSXDeliveryCount(指定消息已传递的次数);其余的属性是可选的。在应用程序中使用这些预定义属性或用户定义属性是可选的

JMSXDeliveryCount实现是必需的,它将包含您需要的信息