Wir haben folgende mule Flow:Mule: Interface-Bindung für verschiedene Komponenten, wie vermeidet man Doppelungen?
<flow name="mule-flow-1">
<component>
<spring-object bean="springBean_1"/>
<binding interface="com.acme.EmailService" method="send">
<vm:outbound-endpoint path="send-email" exchange-pattern="one-way"/>
</binding>
</component>
</flow>
aber jetzt wollen wir neue Strömung einzuführen, mit neuen Spring-Bean, die die gleiche EmailService.send
Methode verwendet, so können wir es wie tun:
<flow name="mule-flow-2">
<component>
<spring-object bean="springBean_2"/>
<binding interface="com.acme.EmailService" method="send">
<vm:outbound-endpoint path="send-email" exchange-pattern="one-way"/>
</binding>
</component>
</flow>
Wie Sie sehen können, banden wir EmailService.send
Methode zweimal in zwei verschiedenen Flows und es ist reine Code-Duplizierung.
Ist es möglich, EmailService.send
Methode irgendwo in gemeinsamem Ort zu binden und ref gerade in mule-flow-1
und mule-flow-2
verwenden?
Das Problem ist: Wir sind mit 'springBean_1' und' springBean_2', bot von ihnen die gleiche Methode 'send' von' EmailService' Schnittstelle, so Ihre Lösung ist etwas falsch. – user471011