Wildfly 10 / NetBeans 8.2:创建消息驱动Bean

时间:2017-03-14 17:26:14

标签: netbeans jms wildfly

将消息队列添加到Wildfly 10.1后我遇到了问题(我使用NetBeans 8.2)。消息队列显示在Wildfly Application Server的Resources / JMS Resources / JMS Destinations节点下,但是当我使用NetBeans向导创建消息驱动Bean时,Server Destinations下拉列表为空。 (见截图)。

NetBeans Dialog

它应该显示我创建的jms队列。我尝试重启Wildfly和NetBeans,但无济于事。有人可以建议解决方案吗?

1 个答案:

答案 0 :(得分:1)

这当然看起来像一个错误(或者至少是Glassfish支持代码的遗留物),您可能想要为此提交错误报告。但与此同时,它并不难解决。假设您(通过Wildfly控制台)创建了一个名为testq且名为java:/jms/testq的队列,您只需输入jms/testq作为"项目目的地"在向导中它会工作。这将导致以下(最小)代码

@MessageDriven(activationConfig = {
    @ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "jms/testq")
    ,@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
})
public class SomeMessageBean implements MessageListener {

和onMessage处理程序:

@Override
public void onMessage(Message message) {
}

您也可以创建一个常规类并添加@MessageDriven注释,这对于mdb&#39>来说真的没有什么神奇之处