JMS。向 WildFly 12 中的 ActiveMQ 中的主题发送简单主题消息失败
JMS. Send a simple Topic Message to a topic in ActiveMQ in WildFly 12 fails
我想将一个简单的主题发布到主题队列。因此我在 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 发送主题并且有一个订阅者:
这可能是什么问题?
顺便说一句,同样的错误出现在两个:队列和主题...
尝试更新连接出厂设置中的确认-window-尺寸
我想将一个简单的主题发布到主题队列。因此我在 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 发送主题并且有一个订阅者:
这可能是什么问题? 顺便说一句,同样的错误出现在两个:队列和主题...
尝试更新连接出厂设置中的确认-window-尺寸