我想记录从我的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不开心?
答案 0 :(得分:1)
这个结果证明是一个棘手的问题。我使用Mule 3.6.1 EE和新的HTTP连接器,并且在这个特定的Mule版本中没有使用HTTP连接器实现此功能。
所以基本上我做了所有正确的事情,Mule只是没有这个功能。
但他们已经用Mule 3.6.3 EE和Mule 3.7.X实现了它。这个commit显示了为其编写的代码。