mule中的端点消息通知记录器不会被调用

时间:2015-08-10 01:30:42

标签: mule

我想记录从我的HTTP端点(请求者)发出的有效负载(集中式日志记录),我认为最好使用EndpointMessageNotificationListener

服务器正常启动但我的通知记录器未被调用。我希望每次从HTTP请求者发出请求时都会调用onNotification方法。

现在我已经配置了spring bean。

<spring:bean name="endpointNotificationLogger" class="EndpointAuditor" />

我的Java类如下

public class EndpointAuditor implements EndpointMessageNotificationListener<EndpointMessageNotification> {

  public EndpointAuditor(){
    System.out.println("The EndpointAuditor has been instantiated");
  }

  @Override
  public void onNotification(EndpointMessageNotification notification) {
    try {
      System.out.println("This comes from the endpoint " + notification.getSource().getPayloadAsString());
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }

}

和我的通知配置如下

<notifications>
        <notification event="ENDPOINT-MESSAGE" />
        <notification-listener ref="endpointNotificationLogger" />
    </notifications>

我从here获取了所有这些。

为什么Mule不开心?

1 个答案:

答案 0 :(得分:1)

这个结果证明是一个棘手的问题。我使用Mule 3.6.1 EE和新的HTTP连接器,并且在这个特定的Mule版本中没有使用HTTP连接器实现此功能。

所以基本上我做了所有正确的事情,Mule只是没有这个功能。

但他们已经用Mule 3.6.3 EE和Mule 3.7.X实现了它。这个commit显示了为其编写的代码。