如何知道在Java EE Web企业应用程序中同时访问数据库的平均或确切数量?我想看看我在Glassfish应用服务器中设置的“连接池设置”是否适合我的Web应用程序。我需要在Application Server的Connection Pool设置中正确设置最大连接数。最近,当客户端请求数据库过期时,我的应用程序用尽连接并引发异常。
答案 0 :(得分:2)
有多种方式。
最简单的方法是从您的DBA那里获得帮助 - 他们可以准确地告诉您在您的网络服务器中有多少连接是活动的,或者在给定时间确定连接池的用户ID。
如果您想要一些兴奋,您将需要使用glassfish提供的JMX管理扩展。清单6在this page上 - 给出了一个示例,说明如何编写基于JMS的代码段来监视连接池。
最后,您必须确保应用程序中的connection.close();
类型的呼叫明确关闭所有连接。在某些情况下,您还需要关闭ResultSet。
接下来是限制您的http线程池,以避免在您的数据库连接需要更长时间关闭时进行过多的并发访问。