この記事のセクション 3.3.1で提供されている詳細に従って、Rabbit サーバーに接続しようとしている Spring Integration プロジェクトで再試行機能を構成しようとしています。しかし、再試行ポリシーが機能していないようです。これは私の構成にあるものです:
<!-- Spring AMQP Template -->
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory" retry-template="retryTemplate"
exchange="myExchange" />
<bean id="retryTemplate" class="org.springframework.retry.support.RetryTemplate">
<property name="backOffPolicy">
<bean class="org.springframework.retry.backoff.ExponentialBackOffPolicy">
<property name="initialInterval" value="8" />
<property name="multiplier" value="100.0" />
<property name="maxInterval" value="100000" />
</bean>
</property>
<property name="retryPolicy">
<bean class="org.springframework.retry.policy.SimpleRetryPolicy">
<property name="maxAttempts" value="3"/>
</bean>
</property>
</bean>
<!-- Spring AMQP Admin -->
<rabbit:admin connection-factory="connectionFactory" />
スニペットに基づいて、再試行が指数関数的な間隔で 3 回発生することを期待しています。しかし、ログに基づいて、再試行が 7 秒間隔で行われ、それが永遠に続くことがわかります (3 回後も停止しません)。
誰かが私の構成の何が問題なのかを指摘できるかどうか疑問に思っています。