繁体   English   中英

嵌入式Broker ActiveMQ的配置

[英]Configuration for Embedded Broker ActiveMQ

这是我用于向嵌入式代理发送消息的配置。 另外,第一个bean方法仅用于创建和启动代理。 它不返回任何实例。 此代码是否启动经纪人? 我已经使用JMS模板的send方法将消息发送到下面提到的主题中。 我已经写了createbrokerservice来创建和运行代理。

@Configuration
@EnableJms
public class JMSConfig {

    public static final String DEFAULT_BROKER_URL = "tcp://localhost:61616";
    public static final String COMMENT_QUEUE = "comment-queue";

    @Bean
    public void createBrokerService() throws Exception {
        BrokerService broker = new BrokerService();
        TransportConnector connector = new TransportConnector();
        connector.setUri(new URI("tcp://localhost:61616"));
        broker.addConnector(connector);
        broker.start();
    }

    @Bean
    public ActiveMQConnectionFactory connectionFactory(){
        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
        connectionFactory.setBrokerURL(DEFAULT_BROKER_URL);
        return connectionFactory;
    }   

    @Bean
    public JmsTemplate jmsTemplate(){
        JmsTemplate template = new JmsTemplate();
        template.setConnectionFactory(connectionFactory());
        template.setDefaultDestinationName(COMMENT_QUEUE);
        template.setPubSubDomain(true);
        template.setSessionTransacted(true);
        return template;
    }
   @Bean
public void createBrokerService() throws Exception {
    BrokerService broker = new BrokerService();
    TransportConnector connector = new TransportConnector();
    connector.setUri(new URI("tcp://localhost:61616"));
    broker.addConnector(connector);
    broker.start();
}

这是不正确的,@ Bean应该返回代理,然后在应用程序中的某个位置使用代理实例来启动它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM