如何在ejb-jar.xml中为JBoss指定MDB目标名称



我正在尝试在EJB-jar.xml中配置EJB 2.1 MDB。我的问题是没有明确的方法来指定MDB要监听的目的地(队列名称)。我已经耗尽了网络,没有找到任何有用的信息。

因此,在我的ejb-jar.xml中,我将DMB配置为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
    <enterprise-beans>   
        <message-driven>
            <ejb-name>LoginListenerMDB</ejb-name>
            <ejb-class>com.mydomain.LoginListener</ejb-class>               
            <transaction-type>Container</transaction-type>                          
            <message-driven-destination>            
                <destination-type>javax.jms.Queue</destination-type>                            
            </message-driven-destination>                   
        </message-driven>
...

如何指定MDB应该侦听的队列名称或jndi名称?

好吧,我想通了。它实际上是在另一个名为jboss.xml的配置文件(eeeegrr)中定义的:

<?xml version="1.0"?>
<!DOCTYPE jboss PUBLIC
    "-//JBoss//DTD JBOSS 6.0//EN"
    "http://www.jboss.org/j2ee/dtd/jboss_6_0.dtd">
<jboss>
    <enterprise-beans>
        <message-driven>
           <ejb-name>LoginListenerMDB</ejb-name>
           <destination-jndi-name>queue/LoginQueue</destination-jndi-name>         
        </message-driven>
...

我不明白为什么要这样做?这是否允许将同一MDB绑定到多个目的地?

相关内容

  • 没有找到相关文章

最新更新