我面临一个问题,实际上我在我的项目中使用c3p0进行连接池,它也使用Spring,Hibernate和JSF。我的问题是,在我的网页中,我们有一个名为“注销”的链接,当用户单击注销时,连接应该被释放,www.google.com返回到池中,这是可能的。释放连接到c3p0连接池
在此先感谢 PRASHANT
我面临一个问题,实际上我在我的项目中使用c3p0进行连接池,它也使用Spring,Hibernate和JSF。我的问题是,在我的网页中,我们有一个名为“注销”的链接,当用户单击注销时,连接应该被释放,www.google.com返回到池中,这是可能的。释放连接到c3p0连接池
在此先感谢 PRASHANT
你期待是控制并发用户数登录到你的系统
当3位用户尝试登录那么他应该等待连接 释放
现在,您可以使用并发计数器
实现这个您可以通过JMX或单独的管理控制台控制最大用户数。 此外,当处理它的线程终止时应该释放一个连接(因为会话对象没有任何引用,所以它可以被GC化,超时之后它将在池中重用)。
它总是最好不要使用数据库资源创建瓶颈。
没有其实我只是试图这样做,当任何用户注销然后连接返回到池 – 2012-04-10 11:50:22
我明白,但一个连接是一个资源链接到正在运行的线程,如果线程死了,然后连接返回到池(迟早)。 – 2012-04-10 11:52:14
你的意思是没有办法做到这一点吗? – 2012-04-10 11:56:27
如果您知道 – 2012-04-10 10:42:23
我增加了我接受的答案我不太理解这个问题,因为您的c3p0池与您的用户请求无关。该池是自我管理的(当连接在一段时间后没有被使用时,该连接要么关闭,要么放回池中)。 – 2012-04-10 11:19:45
是的,您的权利池与用户请求无关,但在我们的网页上,我们有一个名为logout的链接。在一种情况下,如果我有一个maxPoolSize 2和2用户登录,那么当第三个用户尝试登录时,他应该等待连接free.I想要这样做,如果我点击我的注销链接,然后用户注销,也是它释放连接,以便等待获取连接的另一个用户获得连接并完成工作。 – 2012-04-10 11:27:16