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