我可以使用javax.jms.Message.getIntProperty(“JMSXDeliveryCount”)读取当前的传递计数。我正在尝试读取当前的最大重试次数设置。我使用jms-service.xml中的以下配置将其配置为5。
<attribute name="MaxDeliveryAttempts">5</attribute>
<attribute name="MaxDeliveryAttempts">5</attribute>
但是当我尝试使用
以上所有都返回false。我正在使用JBoss EAP 5.0.1和jboss消息传递。
关于我应该寻找哪个属性的任何建议?
答案 0 :(得分:0)
<attribute name="MaxDeliveryAttempts">
设置的内容是 MBean 配置,但您尝试从消息中读取它。它为什么要存在?
答案 1 :(得分:0)
正如@MaDa正确地说的那样,这是MBean配置。
使用以下代码,您可以阅读JBoss环境中的任何JMX MBean设置。
javax.management.MBeanServer server = org.jboss.mx.util.MBeanServerLocator.locateJBoss();
server.getAttribute(new javax.management.ObjectName(mbeanName), attributeName);
e.g。
server.getAttribute(new javax.management.ObjectName("jboss.messaging.destination:service=Queue,name=testQueue"),"MaxDeliveryAttempts");
为此,您需要在maven依赖项中包含jboss-jmx.jar。