2017-06-27 4 views
2

C'est une longue histoire mais j'ai besoin de créer une file d'attente durable en utilisant l'API Artemis JMS Management. Actuellement, le code crée une file d'attente temporaire par défaut:Comment créer une file d'attente durable à l'aide de l'API Artemis JMS Management

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

Je pense que l'auteur original supposé cela créerait une file d'attente durable, mais apparemment pas. Je ne peux pas trouver une bonne documentation à ce sujet et je me demandais si quelqu'un pouvait confirmer/nier cela.

Merci d'avance.

Répondre

1

La documentation pour cela est https://activemq.apache.org/artemis/docs/latest/management.html ou dans GitHub. Ensuite, il y a the API doc pour trouver les détails.

En regardant 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- la méthode que vous voulez appeler est

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

Documentation dit

Si l'adresse est nulle, il sera réglé par défaut sur le nom.

Vous définissez name sur null, pas address. Si je cours plutôt

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

qui ne fonctionne pas non plus. Je crois que c'est un bug. Va enquêter plus et signaler cela.

Je dupliquer le nom de la file

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

et maintenant je reçois correctement une file d'attente durable.

+0

Rapporté comme https://issues.apache.org/jira/browse/ARTEMIS-1456. Je crois que https://issues.apache.org/jira/browse/ARTEMIS-1282 peut également être pertinent. – user7610