问题描述
我是骆驼概念和ActiveMQ概念的新手。在这里,我想使用嵌入式代理并将其添加到骆驼上下文中作为组件。现在,我想向ActiveMQ组件添加一些组件选项(例如useSingleConnection=true
,这不是端点选项,而是组件选项)。我知道这可以通过使用Spring XML来实现。有办法通过编程方式做到这一点吗?
@Override
public void configure() throws Exception {
brokerService broker = new brokerService();
broker.addConnector("tcp://localhost:61213");
broker.setPersistent(true);
broker.start();
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(jmsProducerEndpointConfig.getBlindAddress());
//added componet to camle context
getContext().addComponent("test-jms",JmsComponent.jmsComponentAutoAckNowledge(connectionFactory));
from("test-jms:queue:MyQueue?autoStartup=true&allowNullBody=false")
.process(exchange -> {
System.out.println(exchange.getIn().getBody());
}).to("file://test");
}
解决方法
与发布的示例相距不远,类似下面的代码就足够了:
ActiveMQComponent amq = new ActiveMQComponent();
//
// configure the component
//
getContext().addComponent("activemq",amq);