Мы имеем следующий мул поток:Mule: Связывание интерфейса для разных компонентов, как избежать дублирования?
<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>
но сейчас мы хотим ввести новый поток, с новой Spring бина, который использует тот же самый EmailService.send
метод, поэтому, мы можем сделать это как:
<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>
Как вы можете видеть, мы связали метод EmailService.send
дважды в двух разных потоках и это чистое дублирование кода.
Можно ли связать метод EmailService.send
где-то в другом месте и просто использовать ref в mule-flow-1
и mule-flow-2
?
Проблема заключается в том: Мы используем '' springBean_1' и springBean_2', личинка из них используют один и тот же метод '' send' из интерфейса EmailService', так ваше решение немного неверно. – user471011