Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 如何使用java配置在spring boot中添加几个activemq NetworkConnector,而不是使用XML文件配置_Spring Boot_Activemq_Broker - Fatal编程技术网

Spring boot 如何使用java配置在spring boot中添加几个activemq NetworkConnector,而不是使用XML文件配置

Spring boot 如何使用java配置在spring boot中添加几个activemq NetworkConnector,而不是使用XML文件配置,spring-boot,activemq,broker,Spring Boot,Activemq,Broker,通常,在启动activemq服务之前,我们会在activemq.xml中添加NetworkConnectors配置,如下所示: <networkConnectors> <networkConnector uri="static:(tcp://localhost:62001)"/> </networkConnectors> 但这一次,我只是使用了嵌入activemq的spring引导。我想在mq运行时配置更多的网络连接器。因此,我无法选择将这

通常,在启动activemq服务之前,我们会在activemq.xml中添加NetworkConnectors配置,如下所示:

<networkConnectors>
      <networkConnector uri="static:(tcp://localhost:62001)"/>
 </networkConnectors>


但这一次,我只是使用了嵌入activemq的spring引导。我想在mq运行时配置更多的网络连接器。因此,我无法选择将这些添加到activemq.xml中。但需要在spring boot中使用java代码进行配置。我不知道如何实现这一点。

您可以定义代理bean,并像在xml中那样添加所需内容

@Bean
public BrokerService broker() throws Exception {
    BrokerService broker = new BrokerService();
    broker.addConnector("tcp://localhost:5671");
    broker.addNetworkConnector("static:(tcp://localhost:62001)");
    return broker;
}

谢谢,我还有一个问题。如果我仍然需要从activemq网站下载activemq包,并在导入spring boot starter activemq依赖项后解压缩并单击activemq.bat运行它。当我使用非xml格式的java代码创建BrokerService时,我发现。并且还运行activemq.bat,我报告错误,服务无法启动。但是当我停止并关闭activemq.bat时,它工作得很好。所以我想知道,当我导入spring boot starter activemq依赖项时,我不需要从网站下载activemq zip包并在我的计算机上安装againnope,使用bean broker()可以创建一个完整的嵌入式AMQ代理,而不需要外部代理