2016-04-28 13 views
0

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?

+0

Ich habe Meister Zweig Artemis Git Repo gebaut. activemq-client v5.13.2 funktioniert damit. Paging funktioniert. Es scheint also ein Fehler zu sein. –

Antwort

0

Artemis ist stark entwickelt und der OpenWire-Support ist besonders jung. Dies ist wahrscheinlich behoben, da es eine Menge an laufenden Arbeiten in der Master-Branche gibt. Sie können die Quelle aus dem Github-Spiegel auschecken und sie selbst erstellen, um sie zu testen.

Wenn Sie Dinge finden, die nicht funktionieren, können Sie natürlich Jira-Probleme für sie öffnen, aber es ist am besten, an dieser Stelle einen Entwicklungs-Snapshot zu testen, wenn das Projekt neu ist.

+0

Ja, Sie haben Recht. Wie ich bereits im Kommentar zu meiner Frage erwähnt habe, habe ich schon vom Master gebaut und da gibt es kein solches Problem. –

Verwandte Themen