Spring-boot:如何配置JMS池连接数

时间:2014-09-22 19:22:36

标签: java spring spring-boot spring-jms

我正在创建一个使用JMS而不是ActiveMq的Spring-Boot项目。

我设置了以下属性:

  

spring.activemq.broker-URL = TCP://127.0.0.1:35000

     

spring.activemq.pooled =真

它工作正常,但我无法控制连接池的属性。例如,我想设置连接池中的最大连接数。

有没有办法设置呢?

如果我试图在我的Spring上下文xml文件中自己配置ActiveMq,那么Spring-boot就会抱怨自动装配2 ConnectionFactory出现问题!

有没有办法告诉Spring-Boot不要自动配置任何ActiveMq连接工厂?(由ActiveMQConnectionFactoryConfiguration库中的spring-boot-autoconfigure完成)

1 个答案:

答案 0 :(得分:2)

您需要做的就是提供类型为javax.jms.ConnectionFactory的bean,并指示Spring Boot不提供默认值。

代码如下:

@Configuration
class YourActiveMQConnectionFactoryConfiguration {


    @Bean
    public ConnectionFactory jmsConnectionFactory() {
        return createFactory(); //do whatever you need to here
    }
}

在主应用程序配置类中,将exclude属性添加到@EnableAutoConfiguration

@Configuration
@EnableAutoConfiguration(exclude=ActiveMQConnectionFactoryConfiguration.class)
//the rest of your annotations
public class AppConfig {

    //declare whatever other beans you need
}