Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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
Java 为什么我的消息驱动Bean停止处理消息?_Java_Ejb 3.0 - Fatal编程技术网

Java 为什么我的消息驱动Bean停止处理消息?

Java 为什么我的消息驱动Bean停止处理消息?,java,ejb-3.0,Java,Ejb 3.0,当服务器启动时,我可以看到它正在检查消息,但有时它不再试图抓取消息 我没有密切监视它,以了解确切的时间,但我知道它甚至没有尝试检查,因为我在调试模式下,我根本没有看到正在执行的消息命令;此外,队列中的消息不会被消息驱动的抓取 以下是我的ejb-jar.xml: <?xml version="1.0" encoding="UTF-8"?> <ejb-jar id="ejb-jar_ID" version="3.0" xmlns="http://java.sun.

当服务器启动时,我可以看到它正在检查消息,但有时它不再试图抓取消息

我没有密切监视它,以了解确切的时间,但我知道它甚至没有尝试检查,因为我在调试模式下,我根本没有看到正在执行的消息命令;此外,队列中的消息不会被消息驱动的抓取

以下是我的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>
海伊

我是MessageListener的初学者,但我有自己的完美实现。。。 我将JBoss5.1与hornetq一起使用 我认为您的实现中缺少了一个注释。。。。 也许这个:

@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/ExpiryQueue")
但在这种情况下,我不知道为什么有时可以发送消息

我希望这能对你和我有所帮助

/**
 * 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 {
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/ExpiryQueue")