2013-06-13 4 views
1

J'ai un MuleClient qui envoie un message à un flux Mule comme ci-dessous mais je ne vois pas les propriétés reflétées dans le flux de mule dans la section réponse, quelle portée devrais-je faire pour que les propriétés soient?Mule message Propriété de portée d'invocation

MuleMessage msg = new DefaultMuleMessage(); 
Map<String,Object> propertiesMap = new HashMap<String,Object>(); 
propertiesMap.put("name", "hello"); 
msg.addProperties(propertiesMap, PropertyScope.INVOCATION); 

alors dans le flux j'ai essayé d'accéder à cette propriété comme celui-ci

message.getInvocationProperty("name") 

et il retourne null ... Qu'est-ce que je suis absent?

+0

Comment envoyez-vous au flux? Ce n'est pas montré ci-dessus. –

+0

J'ai essayé cela de deux manières ... 'code' client.send (" vm: // myPath ", msg);' code' J'ai aussi essayé ceci 'code' client.send (" vm:// myPath ", payload, propertiesMap); – mdev

Répondre

4

Si vous envoyez un message à un flux à l'aide d'un point de terminaison de machine virtuelle (ou de transport), les propriétés d'invocation ne seront pas propagées.

Vous devez placer les propriétés dans la portée sortante: elles arrivent dans la portée entrante hors du point de terminaison entrant du flux.

+0

Vous voulez dire que la propriété sortante envoyée via un transport VM sera "modifiée" ou reçue en tant que propriété entrante? Mule transformer Outbound vers Inbound automatiquement? Merci. – msqar

+0

Ce n'est pas une question de transformation, mais plutôt une question d'endroit où vous êtes dans l'interaction: en tant qu'expéditeur, les propriétés sont dans la portée sortante, qui se retrouve dans la portée entrante pour le récepteur. –

+0

Ohhh je reçois ce que tu as dit – msqar

0

Étant donné que vous envoyez le MuleMessage au connecteur (par exemple, vm entrant), les propriétés d'invocation ne sont pas disponibles dans votre flux. MessageProperties dans la portée sortante sera modifié en portée entrante. utilisez donc la portée sortante, dans votre accès de flux comme # [message.inboundPrperties ['nom']]

Questions connexes