0
votes

Artemis 1.2.0 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

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

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?

1
I've built master branch of artemis git repo. activemq-client v5.13.2 works fine with it. Paging works. So it seems to be a fixed bug.artem.pronchakov

1 Answers

0
votes

Artemis is under heavy development and the OpenWire support is especially young. This is most likely fixed as there is a ton of ongoing work on the master branch. You can checkout the source from the Github mirror and build it yourself to test it out.

If you find things that don't work you can of course open Jira issues for them, but it is best at this point to test against a development snapshot given how new the project is.