我已经创建了自定义空介体,代码如下所示:
public class ExampleMediator extends AbstractMediator {
public boolean mediate(MessageContext context) {
return true;
}
}
在接下来的步骤中,我将mediator项目导出为可部署的存档,并将其粘贴到EI_HOME \ lib目录中。
我以这种方式依次使用这个自定义中介:
<inSequence>
<log level="full"/>
<class name="com.example.ExampleMediator"/>
<log level="custom">
<property name="message" value=""After custom mediator""/>
</log>
</inSequence>
当我向我的REST API发送GET请求时,调用此序列我没有看到第二个登录控制台,序列终止,下一个调解器从不执行。此调解的响应是空消息。
我希望在mediate()方法中返回true之后应该执行下一个调解器。我的方法有什么问题?
答案 0 :(得分:0)
除了我没有在代码顶部看到包声明 com.example 之外,一切看起来都不错。
可能是ESB没有看到这个中介(异常必须在日志中没有找到com.example.ExampleMediator)或esb发布中有另一个例子(我不确定但是有可能,名称冲突)相同的例子mediator com.example.ExampleMediator。这是示例的通用名称。最好提供独特的包和类名。