我正在尝试在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名称?
答案 0 :(得分:0)
好的,我明白了。它实际上是在另一个名为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绑定到多个目标?