connection-关于使用ActiveMQPooledConnectionFactory的一下问题

问题描述

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

解决方案

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

解决方案二:

不好意思 ,帮不上你的忙 了,想了好久还是想不出

时间: 2025-01-20 09:25:35

connection-关于使用ActiveMQPooledConnectionFactory的一下问题的相关文章

Remote Desktop Connection Manager (RDCMan) 介绍

Remote Desktop Connection Manager介绍 Remote Desktop Connection Manager (RDCMan) 是微软Windows Live体验团队的主要开发者 Julian Burger开发的一个远程桌面管理工具.简称为RDCMan. RDCMan可以集中管理.分类.组织远程桌面,相比Windows系统自带的远程桌面连接工具mstsc.exe要方便.省时的多,尤其是当你管理大量 服务器或同时连接多台服务器进行操作.切换工作时,那叫一个方便.爽.套

Connection to https://dl-ssl.google.com refused的解决办法

使用SDK Manager.exe安装Android开发环境的时候会遇到: Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: Connection to https://dl-ssl.google.com refused

Call to master/192.168.137.101:9001 failed on connection exception: java.net.ConnectException: Connection refused

java.net.ConnectException: Call to master/192.168.137.101:9001 failed on connection exception: java.net.ConnectException: Connection refused  at org.apache.hadoop.ipc.Client.wrapException(Client.java:1099)  at org.apache.hadoop.ipc.Client.call(Client

c3p0连接池中获取的Connection对象的close()方法是真的把连接给关闭了?

问题描述 c3p0连接池中获取的Connection对象的close()方法是真的把连接给关闭了? 自己做写了一个管理数据源的DBManager,构想中从数据源里面获取的Connection使用完之后执行close()方法,然后把Connection对象闲置回连接池中. 但是测试出来的结果好像每次执行close()之后connection就销毁了. 代码如下: DBManager.java package ben.DBUtils; import java.sql.Connection; impo

jvm-rmi 链接超时 Connection timed out: connect

问题描述 rmi 链接超时 Connection timed out: connect 说要设置 jvm参数 -Dsun.rmi.transport.proxy.connectTimeout=6000 -Dsun.rmi.transport.tcp.responseTimeout=6000 请问这个参数在哪里设置? 解决方案 Connection timed out: connectError:Connection timed out:connect.Error:Connection timed

Use LDAP store PostgreSQL Connection parameter & client use it with .pg_service.conf

前面几篇BLOG谈了一下PostgreSQL的用户密码认证可以通过LDAP 来做AUTH. 客户端提交用户和密码, PostgreSQL server根据提供客户端的用户, 以及pg_hba.conf中的配置, 到LDAP server查找匹配条目. 如果找到了匹配的话, 根据客户端提供的密码在LDAP server进行认证. 客户端只和PostgreSQL server交互, 认证部分由PostgreSQL server和LDAP server完成. 所以PostgreSQL server编译

PHP 在 Nginx 下主动断开连接 Connection Close 与 ignore

这两天弄个PHP调用 SVN 同步 update 多台服务器更新的程序,为了避免 commit 的时候不会被阻塞卡半天得想个办法只请求触发,而不需要等待程序 update 完成返回结果这样耗时太长,所以研究过了下如何让PHP主动断开连接的方法.搞了一下午,发现很多问题,还好最终还是弄出来了,主要是 Nginx 太坑.. 废话不多说,下面上代码: /** * 主动断开与客户端浏览器的连接 * 如果是 Nginx 服务器需要输出大于等于 fastcgi_buffer_size 缓存的数据才能即时输出

解决ASP中Connection对像封装dll问题

     asp代码保密一直是令人头痛的问题,目前没有非常好的解决方案,无非用vb编译成dll,但工作量实在太大,于是一直苦苦寻求着另一种途径,本文详细介绍关于解决ASP中Connection对像封装dll问题的文章专题. 中午,突然灵感一发,"为什么不尝试用加密数据库?",通过对数据库设一个高强度的密码,然后用vb封装connection对像,将密码信息写在dll里,然后通过asp创建组件方式调用,就算人家拿了我的代码,也无法改动数据库! 于是,开始了一步步既痛苦又刺激的旅程.vb三

理解SQL Server 2000的信任连接(Trusted connection)

connection|server 我在用OLEDB方式连接SQL Server时, 用到连接字: "provider=SQLOLEDB.1;data source=localhost;initial catalog=WroxBooks; Trusted_Connection=yes; User ID=sa;Password=;"调用后一直无法正常连接. ASP.NET错误描述:* Error while accessing data.用户 'CXY\ASPNET' 登录失败. ASP