Red Hat Training
A Red Hat training course is available for Red Hat Fuse
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 設定に、接続ファクトリーがあります。
次に、タイマーエンドポイントが 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 宛先に追加されるたびに、ログメッセージがコンソールに出力されます。メッセージが実際にキューに配置されていることを確認するには、JBoss EAP 管理コンソールを使用できます。
