Artemis 1.2.0. Paging don't work with activemq(5.12.0,5.13.2) client

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Artemis 1.2.0. Paging don't work with activemq(5.12.0,5.13.2) client

Artem Pronchakov
Hello.

Standalone broker conf:
<address-full-policy>PAGE</address-full-policy>
<page-size-bytes>1048576</page-size-bytes>

Other settings are default.

"tcp://localhost:61616" - is the "artemis" multiprotocol acceptor

Normal case:
Behaviour: Paging works.
Client: artemis-jms-client v1.2.0
Class: org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory
Code:
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);
}

Error case:
Behaviour: Paging DO NOT works. When messages fills queue to the
max-size-bytes setting, JMX's Address.Paging becomes true, page file is
created, page files count becomes 1, but producer freezes until consumer
start working. Log tells that paging is starting, so it should be ok,
but id didn't. No additional messages even if I set Trace level.
Client: activemq-client v5.12.0 (Also tried latest 5.13.2, no
difference)
Class: org.apache.activemq.ActiveMQConnectionFactory
Code:
ConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(user, pass, "tcp://localhost:61616");
// the same code after ConnectionFactory as for artemis-jms-client ...

Is this a bug or I just cook it wrong?

Thank you.