将消息队列添加到Wildfly 10.1后我遇到了问题(我使用NetBeans 8.2)。消息队列显示在Wildfly Application Server的Resources / JMS Resources / JMS Destinations节点下,但是当我使用NetBeans向导创建消息驱动Bean时,Server Destinations下拉列表为空。 (见截图)。
它应该显示我创建的jms队列。我尝试重启Wildfly和NetBeans,但无济于事。有人可以建议解决方案吗?
答案 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>来说真的没有什么神奇之处