使用Apache Camel route订阅/使用Java中的HornetQ主题
我想转换成java(即不要使用spring DSL)。我可以支持这些对象,但对于如何在路由uri(链接示例的第34行)中引用JmsComponent bean感到困惑 Java示例:使用Apache Camel route订阅/使用Java中的HornetQ主题,java,apache-camel,hornetq,Java,Apache Camel,Hornetq,我想转换成java(即不要使用spring DSL)。我可以支持这些对象,但对于如何在路由uri(链接示例的第34行)中引用JmsComponent bean感到困惑 Java示例: // Stand up JndiTemplate Properties env = new Properties(); env.setValue("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
// Stand up JndiTemplate
Properties env = new Properties();
env.setValue("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
env.setValue("java.naming.provider.url","jnp://localhost:1099");
env.setValue("java.naming.factory.url.pkgs","org.jnp.interfaces:org.jboss.naming");
JndiTemplate template = new JndiTemplate;
template.setEnvironment(env);
// Stand up JndiObjectFactoryBean
JndiObjectFactoryBean factory = new JndiObjectFactoryBean();
factory.setJndiTemplate(template);
factory.setJndiName("ConnectionFactory");
// Stand up JmsComponent
JmsComponent component = new JmsComponent();
component.setSonnectionFactory(factory);
// Stand up camel context and route
final CamelContext camelContext = new DefaultCamelContext();
camelContext.addRoutes(new RouteBuilder() {
public void configure() {
from("WHAT_GOES_HERE:topic:myTopic").to("direct:a")
}
});
camelContext.setTracing(true);
camelContext.start();
问题:
如何在from URI中引用我的JMS组件?和/或使用Java/Apache Camel有更好的方法吗?添加以下内容:
camelContext.addComponent("test-jms",component);
并替换:
public void configure() {
from("WHAT_GOES_HERE:topic:myTopic").to("direct:a")
}
与:
更多信息请点击此处:感谢您的回复。。。我会试试看。
public void configure() {
from("test-jms:topic:myTopic").to("direct:a")
}