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?