Artemis 1.2.0 Standalone-Broker conf:Artemis 1.2.0. Paging funktionieren nicht mit activemq (5.12.0,5.13.2) -Client
<address-full-policy>PAGE</address-full-policy>
<page-size-bytes>1048576</page-size-bytes>
Weitere Einstellungen sind Standard.
"tcp: // localhost: 61616" - ist das "artemis" Multi Akzeptor
Normalfall:
Verhalten: Paging funktioniert.
Auftraggeber: artemis-jms-Client v1.2.0
Klasse: 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);
}
Fehlerfall:
Verhalten: Paging funktioniert NICHT. Wenn Nachrichten die Warteschlange mit der Max-Size-Byte-Einstellung füllen, wird Address.Paging von JMX wahr, die Seitendatei wird erstellt, die Anzahl der Seitendateien wird zu 1, aber der Producer bleibt stehen, bis der Verbraucher startet. Log sagt, dass das Paging gestartet wird, also sollte es in Ordnung sein, aber ID nicht. Keine zusätzlichen Nachrichten, auch wenn ich Trace level gesetzt habe.
Auftraggeber: activemq-Client v5.12.0 (auch versucht neueste 5.13.2, kein Unterschied)
Klasse: org.apache.activemq.ActiveMQConnectionFactory
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, pass, "tcp://localhost:61616");
// the same code after ConnectionFactory as for artemis-jms-client ...
Ist das ein Käfer oder ich koche es einfach falsch?
Ich habe Meister Zweig Artemis Git Repo gebaut. activemq-client v5.13.2 funktioniert damit. Paging funktioniert. Es scheint also ein Fehler zu sein. –