私のアプリケーション: activemq のコンシューマーは既に実行されているため、Activemq にメッセージがあれば消費して処理します。
ロジックに障害が発生した場合にアラートを受け取りたい。最初に、ロジックに問題がある場合はメッセージを 3 回再配信してから に送信しますDLQ。3 回再配信した後、メールでアラートを受け取りたいです。sendMail.batファイルをクリックしてメールを送信するコードを作成しました。sendMail.bat私は Java でコンシューマ コードを持っています。メッセージが に移動する前にファイルを実行したいと思います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.batJava アプリケーションからファイルを実行するとします。そのため、アプリケーション (ActivemqCamel) にもう 1 つの Java(TriggerMail.class) ファイルを作成し、my を実行しますsendMail.bat。TriggerMail.classbean.xml でこれをリンクする場所がわかりません。誰でも私を助けることができますか?