首页 > 使用ActiveMQ-pool建立的连接总是无任何征兆的自动关闭。

使用ActiveMQ-pool建立的连接总是无任何征兆的自动关闭。

在消费者端使用PooledConnectionFactory建立与MQ服务器的连接,启动的时候初始化10个消费者。相关代码如下:

protected JMSConnectionUtill(String MQ_LOCATION,String userName,String password) {
        this.MQ_LOCATION=MQ_LOCATION;
        this.userName=userName;
        this.password=password;
        // ConnectionFactory :连接工厂,JMS 用它创建连接
        ActiveMQConnectionFactory connectionFactory = null;
        if(StrKit.notBlank(userName)
                && StrKit.notBlank(password)){
            connectionFactory= new ActiveMQConnectionFactory(userName, password, MQ_LOCATION);
        } else{
            connectionFactory= new ActiveMQConnectionFactory(MQ_LOCATION);
        }
        pooledConnectionFactory = new PooledConnectionFactory();
        pooledConnectionFactory.setConnectionFactory(connectionFactory);
        // 设置最大连接数
        pooledConnectionFactory.setMaxConnections(100);
        // 设置最小
        pooledConnectionFactory.setMaximumActiveSessionPerConnection(500);
        pooledConnectionFactory.setIdleTimeout(Integer.MAX_VALUE);
    }

但是连接总是隔一段时间就完全无征兆的自己关闭了。为此查了很久,都没有找到原因。哪位大神指导如何解决?


把这句 注释掉 pooledConnectionFactory.setIdleTimeout(Integer.MAX_VALUE);

【热门文章】
【热门文章】