2017-06-27 3 views
2

Es ist eine lange Geschichte, aber ich muss eine dauerhafte Warteschlange mit dem Artemis JMS Management API erstellen. Derzeit erstellt der Code eine temporäre Warteschlange als Standard:Erstellen dauerhafte Warteschlange mit Artemis JMS-Management-API

JMSManagementHelper.putOperationInvocation("jms.server", "createQueue", "MyqueueName", null, null, true); 

denke ich, der ursprüngliche Autor nahm an, dies eine dauerhafte Warteschlange schaffen würde, aber offenbar nicht. Ich kann keine gute Dokumentation dazu finden und habe mich gefragt, ob irgendjemand das bestätigen/leugnen könnte.

Vielen Dank im Voraus.

Antwort

1

Die Dokumentation dazu ist https://activemq.apache.org/artemis/docs/latest/management.html oder management.md in GitHub. Dann gibt es the API doc, um die Details zu finden.

Mit Blick auf https://activemq.apache.org/artemis/docs/javadocs/javadoc-latest/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.html#createQueue-java.lang.String-java.lang.String-java.lang.String- die Methode, die Sie anrufen möchten, ist

createQueue(String address, String name, String filter, boolean durable) 

Dokumentation sagt

Wenn Adresse null ist, wird es zu Namen vorbelegt werden.

Sie setzen name auf null, nicht address. Wenn ich stattdessen

funktioniert, funktioniert das auch nicht. Ich glaube, es ist ein Fehler. Wird mehr untersuchen und das melden. So

ich duplizieren den Namen der Warteschlange

JMSManagementHelper.putOperationInvocation("0.0.0.0", "createQueue", "MyqueueName", "MyqueueName", null, true); 

und jetzt richtig ich eine dauerhafte Warteschlange bekommen.

+0

Berichtet als https://issues.apache.org/jira/browse/ARTEMIS-1456. Ich glaube, dass https://issues.apache.org/jira/browse/ARTEMIS-1282 auch relevant sein kann. – user7610

Verwandte Themen