阿耳忒弥斯 1.2.0。分页不适用于 activemq(5.12.0,5.13.2) 客户端
Artemis 1.2.0. Paging don't work with activemq(5.12.0,5.13.2) client
Artemis 1.2.0 独立代理配置文件:
<address-full-policy>PAGE</address-full-policy>
<page-size-bytes>1048576</page-size-bytes>
其他设置默认。
"tcp://localhost:61616" - 是 "artemis" 多协议接受器
正常情况:
行为:分页有效。
客户端:artemis-jms-client v1.2.0
Class: org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616", user, pass);
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("tmpQueue");
MessageProducer producer = session.createProducer(queue);
connection.start();
byte[] bytes = new byte[Integer.parseInt(size)];
Random random = new Random();
whilt (true) {
BytesMessage bytesMessage = session.createBytesMessage();
random.nextBytes(bytes);
bytesMessage.writeBytes(bytes);
producer.send(bytesMessage);
}
错误案例:
行为:分页不工作。当消息填充队列达到最大大小字节设置时,JMX 的Address.Paging 变为真,创建页面文件,页面文件数变为 1,但生产者冻结,直到消费者开始工作。日志显示分页正在启动,所以应该没问题,但 id 没有。即使我设置了跟踪级别也没有其他消息。
客户端:activemq-client v5.12.0(也试过最新的5.13.2,没区别)
Class: org.apache.activemq.ActiveMQConnectionFactory
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, pass, "tcp://localhost:61616");
// the same code after ConnectionFactory as for artemis-jms-client ...
这是一个错误还是我煮错了?
Artemis 正在大力开发中,OpenWire 支持尤其年轻。这很可能是固定的,因为在 master 分支上有大量正在进行的工作。您可以从 Github 镜像中检出源代码并自行构建以进行测试。
如果您发现无法正常工作的内容,您当然可以为它们打开 Jira 问题,但此时最好针对开发快照进行测试,因为该项目是多么新。
Artemis 1.2.0 独立代理配置文件:
<address-full-policy>PAGE</address-full-policy>
<page-size-bytes>1048576</page-size-bytes>
其他设置默认。
"tcp://localhost:61616" - 是 "artemis" 多协议接受器
正常情况:
行为:分页有效。
客户端:artemis-jms-client v1.2.0
Class: org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616", user, pass);
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("tmpQueue");
MessageProducer producer = session.createProducer(queue);
connection.start();
byte[] bytes = new byte[Integer.parseInt(size)];
Random random = new Random();
whilt (true) {
BytesMessage bytesMessage = session.createBytesMessage();
random.nextBytes(bytes);
bytesMessage.writeBytes(bytes);
producer.send(bytesMessage);
}
错误案例:
行为:分页不工作。当消息填充队列达到最大大小字节设置时,JMX 的Address.Paging 变为真,创建页面文件,页面文件数变为 1,但生产者冻结,直到消费者开始工作。日志显示分页正在启动,所以应该没问题,但 id 没有。即使我设置了跟踪级别也没有其他消息。
客户端:activemq-client v5.12.0(也试过最新的5.13.2,没区别)
Class: org.apache.activemq.ActiveMQConnectionFactory
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, pass, "tcp://localhost:61616");
// the same code after ConnectionFactory as for artemis-jms-client ...
这是一个错误还是我煮错了?
Artemis 正在大力开发中,OpenWire 支持尤其年轻。这很可能是固定的,因为在 master 分支上有大量正在进行的工作。您可以从 Github 镜像中检出源代码并自行构建以进行测试。
如果您发现无法正常工作的内容,您当然可以为它们打开 Jira 问题,但此时最好针对开发快照进行测试,因为该项目是多么新。