JDefens 2015-06-04 13:27 采纳率: 66.7%
浏览 5623
已结题

关于使用ActiveMQPooledConnectionFactory的一下问题

 import javax.jms.Connection;
import javax.jms.JMSException;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.jms.pool.PooledConnectionFactory;

/**
 *  内部类的方式实现对connection的单例获取
 */


public class JMSConnectionUtill {

    private PooledConnectionFactory pooledConnectionFactory = null;

    private static class CreateConnUtil{
        private  static JMSConnectionUtill instance = new JMSConnectionUtill();
    }
    private JMSConnectionUtill (){
        // ConnectionFactory :连接工厂,JMS 用它创建连接
        ActiveMQConnectionFactory connectionFactory = null;
        // 构造ConnectionFactory实例对象,此处采用ActiveMq的实现jar
        connectionFactory = new ActiveMQConnectionFactory(
                ActiveMQConnection.DEFAULT_USER,
                ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");

        pooledConnectionFactory = new PooledConnectionFactory();
        pooledConnectionFactory.setConnectionFactory(connectionFactory);
        //设置最大连接数
        pooledConnectionFactory.setMaxConnections(200);
        //设置最小
        pooledConnectionFactory.setMaximumActiveSessionPerConnection(50);     
        //后台对象清理时,休眠时间超过了3000毫秒的对象为过期
        pooledConnectionFactory.setTimeBetweenExpirationCheckMillis(3000);
    }  

    //获取链接
    public Connection getConnection(){
        Connection connection = null;
        try {
            connection = pooledConnectionFactory.createConnection();
        } catch (JMSException e) {
            e.printStackTrace();
        }
        return connection;
    }

    public static final JMSConnectionUtill getInstance(){
        return CreateConnUtil.instance;
    }
}

我所想问的是,我通过内部类获取PooledConnectionFactory的单例,每次获取连接从这里面获取,避免每次都创建新的连接而消耗大量的资源,但是这样写有没有问题,单就这个获取连接的工具类,有没有不恰当的地方,或者说这样做跟直接创建连接的效果是一直的,另外,求一份关于这方面的优化方案(经过实际检验的),在线等

  • 写回答

3条回答 默认 最新

  • 荏苒时光 2015-06-04 13:51
    关注

    很好很好很好很好很好很好

    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题