以编程方式设置骆驼ActiveMQ组件选项

问题描述

我是骆驼概念和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);