要求: - 带有Oracle aq的JMS连接器,为入站端点。
问题语句: - 如何在常规间隔后重新连接JMS连接器,以便在重新连接时会在队列中消耗新消息。
我尝试了以下重新连接策略
-- JMS Connector defined
<jms:connector name="AQJMS" validateConnections="true"
maxRedelivery="-1" numberOfConsumers="1" durable="true" doc:name="JMS"
username="X" password="X" connectionFactory-ref="OAQTopicConnectionFactoryBean">
-- reconnect at 5 sec
<reconnect-forever frequency="5000"/>
</jms:connector>
-- flow
<flow name="sendmessagetoqFlow">
-- jms inbound endpoint as oracle AQ
<jms:inbound-endpoint queue="QUEUE"
connector-ref="AQJMS" doc:name="AQJMS">
<jms:client-ack-transaction action="BEGIN_OR_JOIN"/>
</jms:inbound-endpoint>
<logger message="Log 1 - #[message.inboundProperties]" level="INFO" doc:name="Logger 1"/>
</flow>
,但在5秒后不会重新连接。 您能帮我解决问题吗?
预先感谢。
配置交易投票(企业(这对我有用
<jms:connector ...cut...>
<service-overrides transactedMessageReceiver="com.mulesoft.mule.transport.jms.TransactedPollingJmsMessageReceiver" />
</jms:connector>
<jms:inbound-endpoint queue="my.queue">
<ee:multi-transaction action="ALWAYS_BEGIN" timeout="30000"/>
<properties>
<spring:entry key="pollingFrequency" value="5000" />
</properties>
</jms:inbound-endpoint>