0
我是彈簧集成的新手。我的要求是,如果jms q存在連接問題,那麼它應該嘗試連接3次,然後記錄並退出過程。我無法做到。它會拋出一個錯誤,說它需要service:activator的ref屬性。但我不知道在這裏提供哪一類的參考。還有其他的方式嗎?如何用jms添加重試建議:消息驅動通道適配器
<int-jms:message-driven-channel-adapter id="msgIn" channel="toRoute" container="messageListenerContainer" />
<int:service-activator id="service" input-channel="toRoute" >
<int:request-handler-advice-chain>
<bean class="org.springframework.integration.handler.advice.RequestHandlerRetryAdvice">
\t \t <property name="recoveryCallback">
<bean class="org.springframework.integration.handler.advice.ErrorMessageSendingRecoverer">
<constructor-arg ref=「errorChannel" />
</bean>
</property>
\t </bean>
</request-handler-advice-chain>
</int:service-activator>
非常感謝Gary讓我置身於正確的環境中。這當然有幫助。 –
至於要求,檢查經紀人的可用性只是一部分。我們有一個完整的應用程序,它可以從一個q中提取消息並放到另一箇中,等等。這是我的經理希望我做的一項小規定。但是因爲我對這個很陌生,所以沒有想法。 –
您可以簡單地在連接工廠調用'createConnection()';如果成功,你就可以(關閉它);如果沒有,經過一些嘗試後關閉(儘管目前還不清楚爲什麼你會這麼做)。使用消息監聽器容器,Spring將不斷嘗試連接,直到成功。 –