Ich muss den aktuellen Flussnamen in eine Variable erfassen.Wie finden Sie den aktuellen Flow-Namen in Maultier?
Ich habe versucht, mit # [flow.name] aber kein Glück in mule 3.8.0
kann jemand mir bitte helfen?
Ich muss den aktuellen Flussnamen in eine Variable erfassen.Wie finden Sie den aktuellen Flow-Namen in Maultier?
Ich habe versucht, mit # [flow.name] aber kein Glück in mule 3.8.0
kann jemand mir bitte helfen?
Basierend auf der Antwort in diesem Beitrag: How to get caller flow name in private flow in Mule
Es ist ein einfachste Weg, die Flussnamen zu bekommen und es in eine Variable setzen:
<expression-component doc:name="Expression"><![CDATA[flowVars.flowName = flow.name;]]></expression-component>
Sie können auf den Flow-Namen im Logger zugreifen, indem Sie # [flow.name] verwenden, aber nicht in MEL. Verwenden Sie flowconstruct, um den Flow-Namen zu erhalten. Siehe hierzu answer
Hoffe das hilft.
Ich habe # benutze [flow.name ] in 3.7.3 und versuchte gerade in 3.8.0, um sicherzustellen, dass es nicht entfernt worden war und es für mich in der Protokollierung und dem Setzen eines flowVars Wertes gut arbeitete. Ich schlage vor, mindestens einen Ausschnitt Ihres Flusses zu veröffentlichen und vielleicht können wir das Problem erkennen, das Sie haben.
PS, nicht sicher, warum flow.name nicht in Standardformularen oder wirklich von Mule dokumentiert ist, und da es nicht gibt es weiterhin einige Sorgen sie werden es entfernen. Ich habe gesehen, dass es mehr als nur hier angegeben hat, dass es in MEL nicht zugänglich ist, aber # [flow.name] ist ein MEL-Ausdruck und funktioniert. Wenn ich für etwas wie I Parse Template in Ausnahmestrategien verwende, benutze ich das Formular von sulthony, setze einen flowVars-Wert in einem Ausdruck und verweise auf diese flowVars in meiner Vorlage.
Alternativ können Sie auch direkt Ausdruck #[mule:context.serviceName]
in einer Variablen verwenden: -
<set-variable variableName="myFlowName" value="#[mule:context.serviceName]" doc:name="Variable"/>
<!-- Print the value of variale in logger -->
<logger message="#[flowVars.myFlowName]" level="INFO" doc:name="Logger"/>
Dies wird Ihre Stromfluss Namen direkt in variablen
In mule 3.8.5 mit Groovy Skriptkomponente gesetzt,
flowVars.currentFlowName = eventContext.getFlowConstruct().getName();
@Thiru obwohl es ein recht alter Thread ist, aber alternativ können Sie direkt den Ausdruck '# [mule: context.serviceName]' in einer Variablen verwenden, um den aktuellen Flussnamen zu setzen .. see die Antwort unten –