Apache camel Camel EventNotifierSupport生成重复的输出
为了在Camel上执行性能度量和审计日志记录,AuditEventNotifier的实现如下所示。但是,每个事件都记录两次。例如,31140的消息完成事件记录两次。有人能给我一个如何解决这个问题的提示吗 路由定义 AuditEventNotifer实现 下面是制作的日志Apache camel Camel EventNotifierSupport生成重复的输出,apache-camel,Apache Camel,为了在Camel上执行性能度量和审计日志记录,AuditEventNotifier的实现如下所示。但是,每个事件都记录两次。例如,31140的消息完成事件记录两次。有人能给我一个如何解决这个问题的提示吗 路由定义 AuditEventNotifer实现 下面是制作的日志 检查通知程序bean是否未配置两次。如果用@Component注释该类,则必须在SpringXML配置中定义bean 选择一种或另一种可能性,但不能同时选择两者。因为您尚未覆盖 public boolean isEnabled
检查通知程序bean是否未配置两次。如果用
@Component
注释该类,则必须在SpringXML配置中定义bean
选择一种或另一种可能性,但不能同时选择两者。因为您尚未覆盖
public boolean isEnabled(EventObject event)
它为事件的每个状态打印消息
如果您希望消息在发送时只打印一次,请检查下面的代码块
@Component
public class AuditEventNotifer extends EventNotifierSupport {
private static final Logger LOGGER = LoggerFactory
.getLogger(AuditEventNotifer.class);
@Override
public boolean isEnabled(EventObject event) {
return event instanceof ExchangeSentEvent;
}
@Override
public void notify(EventObject event) throws Exception {
LOGGER.info(event.toString());
}
}
@刘易斯王:我用这个取代了我以前的答案。如果它解决了您的问题,请检查它。
15:29:12.497 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31140]]
15:29:12.497 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31140]]
15:29:12.497 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31141]]
15:29:12.497 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31141]]
15:29:12.498 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31142]]
15:29:12.498 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31142]]
15:29:12.498 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31143]]
15:29:12.498 [thread #0 - JmsConsumer[ticket_queue]] INFO AuditEventNotifer:19 - exchange completed: Exchange[JmsMessage[JmsMessageID: ID:fe80:0:0:0:be30:5bff:feee:6a24%em1a48e14979b5068a0:31143]]
public boolean isEnabled(EventObject event)
@Component
public class AuditEventNotifer extends EventNotifierSupport {
private static final Logger LOGGER = LoggerFactory
.getLogger(AuditEventNotifer.class);
@Override
public boolean isEnabled(EventObject event) {
return event instanceof ExchangeSentEvent;
}
@Override
public void notify(EventObject event) throws Exception {
LOGGER.info(event.toString());
}
}