0

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

public class ExampleMediator extends AbstractMediator { 

    public boolean mediate(MessageContext context) {
        return true;
    }
}

在接下来的步骤中,我将调解器项目导出为可部署存档并将其粘贴到 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 后应该执行下一个中介。我的方法有什么问题?

4

1 回答 1

0

对我来说一切都很好,除了我没有在代码顶部看到包声明com.example 。

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

于 2017-12-13T07:49:29.383 回答