【发布时间】:2014-03-06 06:49:27
【问题描述】:
当我将应用程序部署到 Websphere 时,我正在尝试使用部署描述符完全定义我的消息驱动 bean,但它不能很好地处理注释。
请问有没有办法在ejb-jar.xml文件中指定MDB的消息监听接口?
【问题讨论】:
标签: java websphere ibm-mq message-driven-bean
当我将应用程序部署到 Websphere 时,我正在尝试使用部署描述符完全定义我的消息驱动 bean,但它不能很好地处理注释。
请问有没有办法在ejb-jar.xml文件中指定MDB的消息监听接口?
【问题讨论】:
标签: java websphere ibm-mq message-driven-bean
您必须使用@javax.ejb.MessageDriven 注释将EJB 类型声明为消息驱动。您可以指定以下可选属性:
bean 类必须直接或间接地实现它所支持的消息类型所需的消息侦听器接口或消息侦听器接口的方法。对于 JMS,这是 javax.jms.MessageListener 接口。
激活配置属性是在部署 MDB 时传递给 MDB 容器的名称-值对。这些属性可以在 ejb-jar.xml 部署描述符中声明,也可以通过使用 MDB bean 类上的 @ActivationConfigProperty 注释来声明。
在 ejb-jar.xml 中设置的激活配置属性
<message-driven>
. . .
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationJNDIName</activation-config-property-name>
<activation-config-property-value>myQueue</activation-config-property-value>
</activation-config-property>
<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>
. . .
</message-driven>
<message-driven>
. . .
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationJNDIName</activation-config-property-name>
<activation-config-property-value>myQueue</activation-config-property-value>
</activation-config-property>
<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>
. . .
</message-driven>
【讨论】: