Menu Close
5.6.2. Camel ルート設定
以下の JMS プロデューサーおよびコンシューマーの例では、JBoss EAP の組み込み ActiveMQ Artemis サーバーを利用し、メッセージを宛先との間でパブリッシュおよび使用します。
この例では、camel-cdi コンポーネントとともに CDI も使用します。JMS ConnectionFactory インスタンスは、JNDI ルックアップを介して Camel RouteBuilder に注入されます。
5.6.2.1. JMS プロデューサー
DefaultJMSConnectionFactory
接続ファクトリーは、JNDI から RouteBuilder に注入されます。JBoss EAP XML 設定では、messaging サブシステム内で接続ファクトリーを確認できます。
次に、タイマーエンドポイントが 10 秒ごとに実行され、以前に設定された WildFlyCamelQueue 宛先に XML ペイロードが送信されます。
@Startup @ApplicationScoped @ContextName("jms-camel-context") public class JmsRouteBuilder extends RouteBuilder { @Resource(mappedName = "java:jboss/DefaultJMSConnectionFactory") private ConnectionFactory connectionFactory; @Override public void configure() throws Exception { JmsComponent component = new JmsComponent(); component.setConnectionFactory(connectionFactory); getContext().addComponent("jms", component); from("timer://sendJMSMessage?fixedRate=true&period=10000") .transform(constant("<?xml version='1.0><message><greeting>hello world</greeting></message>")) .to("jms:queue:WildFlyCamelQueue") .log("JMS Message sent"); } }
JMS メッセージが WildFlyCamelQueue 宛先に追加されるたびに、ログメッセージがコンソールに出力されます。メッセージが実際にキューに配置されていることを確認するには、JBossEAP 管理コンソールを使用できます。
