当服务器启动时,我可以看到它检查消息,但有时它不会尝试再抓取消息。
我没有密切监视它以确切知道确切的时间,但我知道它甚至都没有尝试检查,因为我在调试模式下有它并且我根本没有看到消息命令被执行;此外,排队的消息不会被消息驱动抓取。
这是我的ejb-jar.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar id="ejb-jar_ID"
version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
<display-name>MessageEJB</display-name>
<enterprise-beans>
<message-driven>
<display-name>MessageBean</display-name>
<ejb-name>MessageBean</ejb-name>
<ejb-class>com.ecomm.ejb.mdb.MessageBean</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>/queue/ExpiryQueue</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
和jboss.xml:
<?xml version="1.0"?>
<jboss>
<enterprise-beans>
<message-driven>
<ejb-name>MessageBean</ejb-name>
<destination-jndi-name>/queue/ExpiryQueue</destination-jndi-name>
<resource-ref>
<res-ref-name>MessageBean</res-ref-name>
<jndi-name>/queue/ExpiryQueue</jndi-name>
</resource-ref>
</message-driven>
</enterprise-beans>
</jboss>
和ejb:
/**
* Message-Driven Bean implementation class for: MeaageBean
*
*/
@MessageDriven(
mappedName = "/queue/ExpiryQueue",
activationConfig = {
@ActivationConfigProperty(
propertyName = "acknowledgeMode",
propertyValue = "Auto-acknowledge"
),
@ActivationConfigProperty(
propertyName = "destinationType",
propertyValue = "javax.jms.Queue"
)
}
)
public class MessageBean implements MessageListener {
答案 0 :(得分:0)
Haii,
我是MessageListener的初学者,但我有自己完美的实现...... 我使用Jboss 5.1和hornetq 我想你的实现中缺少一个注释.... 也许这一个:
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/ExpiryQueue")
但在这种情况下,我不知道为什么有时可以传递信息....
我希望这对U和
有所帮助