私のアプリケーション: 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.bat
Java アプリケーションからファイルを実行するとします。そのため、アプリケーション (ActivemqCamel) にもう 1 つの Java(TriggerMail.class) ファイルを作成し、my を実行しますsendMail.bat
。TriggerMail.class
bean.xml でこれをリンクする場所がわかりません。誰でも私を助けることができますか?