在WSO2中,ESB v.4.9.0 发送指示符没有终止它所在的序列和所有父序列以及最后的代理服务或API。所以,在代码中:
...
<!-- This seqience has send mediator -->
<sequence key="ElabaFtpFileWrite"/>
<!-- This sequence has send mediator -->
<sequence key="ElabaSendMail"/>
<!-- for instance, some mediator or another logic -->
<log level="full"/>
...
始终执行第二个序列和日志中介。
相反,在5.0.0版本中。执行第二序列和日志调解器。
根据v.0.0.0发送调解员的文档第二行为是对的。但是为什么在v.4.9.0中发送的方式有所不同,而且我没有发现任何有关此类问题的通知。
我想我不知道因为我不是WSO2产品的经验丰富的用户。
我在第一个和第二个序列中将发送介体更改为调用介体,然后执行log mediator。
这样的决议是对的吗?
答案 0 :(得分:1)
请参阅https://stackoverflow.com/a/38930531/1733810:2016年6月29日,发送调解员已更改为返回&#34; false&#34; (而不是&#34; true&#34;)以避免执行剩余的调解员
文档反映了这一点:比较https://github.com/wso2/wso2-synapse/commit/dc78d18210f3cbd8d2eb04bcd7236658ee3731f4和https://docs.wso2.com/display/ESB490/Send+Mediator您会注意到这个附加组件:
在发送中介之后,不要以相同的顺序添加任何中介配置,因为WSO2 ESB不处理它们。 Send mediator之后的任何介体配置都应该转到outSequence或接收序列。