私は、次の設定を書いた:Spring PollableChannel - loggingEnabledをfalseに設定できませんか?
PollableAmqpChannelのタイムアウト値を受け取るコール:
@Slf4j @Configuration @EnableConfigurationProperties(BatchProperties.class) public class BatchConfiguration { @Autowired private BatchProperties properties; @Bean public PollableAmqpChannel testingChannel(final RabbitTemplate rabbitTemplate) { final PollableAmqpChannel channel = new PollableAmqpChannel(properties.getQueue(), rabbitTemplate); channel.setLoggingEnabled(false); return channel; } @Bean @ServiceActivator(inputChannel = "testingChannel", poller = @Poller(fixedRate = "1000", maxMessagesPerPoll = "1")) public MessageHandler messageHandler(final RabbitTemplate rabbitTemplate) { return message -> { log.info("Received: {}", message); rabbitTemplate.convertAndSend(properties.getQueue(), message); }; } }
メッセージが正常に読み込まれ、キューに再登録が、私は、次のメッセージを取得しておく取得します。受信タイムアウトがサポートされていないため、 タイムアウトは無視されます。
私はSpring Boot 1.5.3.RELASEを使用しています。 AbstractAmqpChannel
クラスに
@Override
public void setLoggingEnabled(boolean loggingEnabled) {
this.loggingEnabled = loggingEnabled;
}
:
は私が上でブレークポイントを入れています。それは(私の設定に従って)「偽」で呼び出され、メッセージをポーリングするたびに再度呼び出され、「true」に設定されます。
私はハッシュコードをチェックしましたが、それは私のbeanだと思われますが、 'loggingEnabled'は各メッセージで 'true'にリセットされます。
設定に問題がありますか?これをどのように修正できますか?
私はWARNにロギングを設定することを考えましたが、何が起こっていたのかを知りたかっただけです。ありがとう。 – aturkovic