如何证明骆驼已发生节流

时间:2017-10-09 07:47:12

标签: java apache-camel throttling

我想知道是否有办法执行System.out.println();之类的操作或记录已发生限制的操作。如果发生限制,我现在能看到的唯一方法是将rejectExecution设置为True。问题是,如果它设置为true,那么在发生限制时不会处理请求。有没有办法通过camel通知已发生限制?

1 个答案:

答案 0 :(得分:2)

Camel中的Throttler EIP是使用类Throttler实现的,该类从DelayProcessorSupport扩展,它在跟踪级别记录有关其处理的消息,因此您可以将其日志记录配置为跟踪级别。 例如,如果您使用的是log4j,则可以使用

log4j.logger.org.apache.camel.processor.DelayProcessorSupport=TRACE ,file

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:/output.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n