<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar 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"
version="3.0"
>
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB</ejb-name>
<ejb-class>
com.foo.MyMDB
</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Container</transaction-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>
${jms.queue.mymdb}
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
useJNDI
</activation-config-property-name>
<activation-config-property-value>
false
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
channel
</activation-config-property-name>
<activation-config-property-value>
${jms.queue.manager.channel}
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
hostName
</activation-config-property-name>
<activation-config-property-value>
${jms.queue.manager.host}
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
queueManager
</activation-config-property-name>
<activation-config-property-value>
${jms.queue.manager.name}
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
port
</activation-config-property-name>
<activation-config-property-value>
${jms.queue.manager.port}
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
transportType
</activation-config-property-name>
<activation-config-property-value>
CLIENT
</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
</ejb-jar>
以上是我的 ejb-jar.xml 文件。
以下来自standalone-full.xml
<system-properties>
<!-- JMS properties for ejb-jar.xml -->
<property name="jms.queue.manager.channel" value="QUEUE_MANAGER_CHANNEL"/>
<property name="jms.queue.manager.host" value="QUEUE_MANAGER_HOST"/>
<property name="jms.queue.manager.name" value="QUEUE_MANAGER_NAME"/>
<property name="jms.queue.manager.port" value="QUEUE_MANAGER_PORT"/>
<property name="jms.queue.mymdb" value="MYMDB_QUEUE"/>
</system-properties>
但是当我部署我的 MDB 或在拥有 MDB 后重新启动服务器时,它会给出错误,即 ejb-jar.xml 无法读取目标主机名等的值。他们是空的。我正在使用 JBOSS 7.2.0。
我还确保使用standalone.bat -c Standalone-full.xml 启动jboss,因为我将系统属性放在这里。