WSO2 EI Custom Mediator终止序列执行

时间:2017-11-30 22:51:22

标签: wso2ei

我已经创建了自定义空介体,代码如下所示:

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="&quot;After custom mediator&quot;"/>
    </log>
</inSequence>

当我向我的REST API发送GET请求时,调用此序列我没有看到第二个登录控制台,序列终止,下一个调解器从不执行。此调解的响应是空消息。

我希望在mediate()方法中返回true之后应该执行下一个调解器。我的方法有什么问题?

1 个答案:

答案 0 :(得分:0)

除了我没有在代码顶部看到包声明 com.example 之外,一切看起来都不错。

可能是ESB没有看到这个中介(异常必须在日志中没有找到com.example.ExampleMediator)或esb发布中有另一个例子(我不确定但是有可能,名称冲突)相同的例子mediator com.example.ExampleMediator。这是示例的通用名称。最好提供独特的包和类名。