java - JMS。在 WildFly 12 中向 ActiveMQ 中的主题发送简单的主题消息失败

标签 java jms wildfly send

我想将一个简单主题发布到主题队列。因此,我在 WildFly 12 中使用 ActivMQ-Extension(在子系统下)。但我收到以下错误:

CompletionListener/SendAcknowledgementHandler used with confirmationWindowSize=-1. Enable confirmationWindowSize to receive acks from server!

这是什么意思? 我使用以下代码:

@RequestScoped
public class Sender {

    @Resource(lookup = "java:jboss/exported/jms/RemoteConnectionFactory")
    private ConnectionFactory connectionFactory;

    @Resource(lookup = "java:jboss/jms/queue/bookstoreqeue")
    private Queue queue;

    @Resource(lookup = "java:jboss/jms/messagetopic")
    private Topic topic;


    public void send() throws JMSException {
        Connection connection = connectionFactory.createConnection("admin", "admin");

        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        MessageProducer messageProducer = session.createProducer(topic);

        TextMessage message = session.createTextMessage("message");


        MessageConsumer consumer = session.createConsumer(topic);
        consumer.setMessageListener(msg -> System.out.println("Received!"));


        while (true) {

            try {
                TimeUnit.SECONDS.sleep(5);
                messageProducer.send(message, new CompletionListener() {
                    @Override
                    public void onCompletion(Message message) {
                        System.out.println("complete!");
                    }

                    @Override
                    public void onException(Message message, Exception exception) {
                        System.out.println(exception);
                    }
                });
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

我知道我的 MessageProducer 正在将主题发送到 TopicQueue 并且有一个订阅者:

enter image description here

这可能是什么问题? 顺便说一句,同样的错误出现在队列和主题上......

最佳答案

尝试在连接工厂设置中更新确认窗口大小

关于java - JMS。在 WildFly 12 中向 ActiveMQ 中的主题发送简单的主题消息失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50280156/

相关文章:

java - 给定 URI 的注释检索

java - 如何设计MQ Server?

java - DefaultMessageListenerContainer 在单个队列上使用 JMX + ActiveMQ 多个消费者进行管理

java - 驻留在 Wildfly 模块中的 JPA 实体类不会被扫描

java - 如何在 Spring MVC 中创建 cron 来安排任务

java - jOOQ Codegen 具有用于开发、测试和生产的不同 MySQL 数据库

java - 如何在 JasperReports 中使用现有的 PDF 信笺

jms - 设置ActiveMQ Artemis路由类型,Spring Boot JmsListener作为客户端

java - Wildfly:org.jboss.as.controller.registry.FastCopyHashMap

java - Wildfly 信任库和轴