In meinem Fall habe ich anderen Fluss für die Protokollierung erstellt, die eingehende VM hat. Dann habe ich es per Java-Komponente aufgerufen. Siehe Beispielcodes unten.
public class TestCallVm implements Callable{
@Override
public Object onCall(MuleEventContext eventContext) throws Exception {
MuleMessage message = eventContext.getMessage();
String tid = message.getProperty("tid", PropertyScope.SESSION).toString();
MuleClient client = new MuleClient(eventContext.getMuleContext());
Map<String, Object> map = new HashMap<String, Object>();
map.put("tid", message.getProperty("tid", PropertyScope.SESSION).toString());
message.setPayload("Hello");
client.sendNoReceive("vm://vmLogger", "Hello", map);
client.send("vm://vmLogger", "Hello", map);
client.send("vm://vmLogger", message, null);
MuleMessage response = client.send("vm://vmLogger", "Ross", null);
System.out.println("response = ");
return null;
}
}
hoffen, dass dies hilft :)
als eingehend? Entschuldigung, könnten Sie mir bitte einige Details geben ... – sanssan
Nun, Sie fragen, wie Sie es in einer Java-Komponente bekommen, so nehme ich an, Sie haben eine eigene benutzerdefinierte Klasse, wo Sie versuchen, diesen Wert zu bekommen. In diesem Fall können Sie Ihre Klasse dazu bringen, die von mir erwähnte Schnittstelle zu implementieren, und Sie erhalten einen Verweis auf den Fluss, an den Sie seinen Namen senden können. – afelisatti