我的应用程序: activemq 的消费者已经在运行,所以如果 Activemq 中有消息,它将消耗并处理它。
如果我的逻辑有任何故障,我想得到警报。首先,如果我的逻辑有任何故障,我会尝试重新发送我的消息 3 次,然后发送到DLQ
3 次重新发送后,我想通过邮件获得警报。我已经完成了通过单击文件发送邮件的代码sendMail.bat
。我在 java 中有消费者代码,现在我想sendMail.bat
在消息转到之前运行文件DLQ
。这是我在 bean.xml 中的代码。
<!-- here we configure our DeadLetterChannel -->
<bean id="myDeadLetterErrorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder">
<property name="deadLetterUri" value="activemq:queue:ThermalMap.DLQ"/>
<property name="redeliveryPolicy" ref="myRedeliveryPolicyConfig"/>
</bean>
<!-- here we set the redelivery settings -->
<bean id="myRedeliveryPolicyConfig" class="org.apache.camel.processor.RedeliveryPolicy">
<property name="maximumRedeliveries" value="3"/>
<property name="redeliveryDelay" value="250"/>
</bean>
<camelContext id="activeContext1" xmlns="http://camel.apache.org/schema/spring">
<route startupOrder="1" errorHandlerRef="myDeadLetterErrorHandler">
<from uri="activemq:queue:ThermalMap"/>
<transacted/>
<to uri="bean:msgPro1?Method=Processor1"/>
</route>
</camelContext>
让我们假设sendMail.bat
要从 java 应用程序运行文件。所以我要在我的应用程序(ActivemqCamel)中再创建一个 java(TriggerMail.class) 文件并执行我的sendMail.bat
. 我不知道TriggerMail.class
在我的 bean.xml 中链接到哪里?谁能帮我?