Wildfly中为MDB创建队列

问题描述 投票:0回答:1

我的应用程序中有这样的MDB

@MessageDriven(activationConfig = {
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
        @ActivationConfigProperty(propertyName = "destination", propertyValue = "java:jboss/exported/jms/queue/TestQueue"),
        @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "source = 'client'")})
public class JmsReceiver implements MessageListener {

    @Override
    public void onMessage(Message message) {
        // .......
    }

}

问题是队列创建的方式。我记得在Wildfly 16中,仅用MDB部署应用程序就足够了,并且该队列可以以JNDI名称jms/queue/TestQueue远程使用,但是在Wildfly 18中,只有在我在服务器控制台中创建了具有适当名称的队列后,该队列才开始工作。

队列创建在Wildfly和ActiveMQ中的工作原理如何?

java jms wildfly message-driven-bean java-ee-8
1个回答
0
投票

我建议您将jms目标定义xml文件添加到部署中。参见https://docs.jboss.org/author/display/WFLY10/Messaging+configuration示例

© www.soinside.com 2019 - 2024. All rights reserved.