2017-08-11 6 views
0

Dans mon application, je me sers des caractères génériques dans chameau apache et je l'ai défini le constructeur de la route comme ceci:Différencier quelle file d'attente a été appelé lors de l'utilisation des caractères génériques dans chameau apache

de (« ActiveMQ: file d'attente. * ProcessQueue ») .bean (beanOne, "someMethod");

Pendant l'envoi du message que je vais à la file d'attente d'envoi de messages "{} uniqueID .processQueue" donc je dois obtenir ce uniqueId intérieur SomeMethod de beanOne.

Répondre

2

Le chemin d'accès complet à la file d'attente se trouve dans l'en-tête JMSDestination du message In (par exemple, la valeur JMSDestination est queue://test1.processQueue). Vous pouvez utiliser les fonctions de manipulation de chaînes pour obtenir le uniqueId requis.

Exemple (uniqueId sera test1):

@Handler 
public void someMethod(@Header("JMSDestination") String jmsDestination) { 
    String uniqueId = jmsDestination.substring("queue://".length(), jmsDestination.indexOf(".processQueue")); 
}