如何知道在我的Java EE Web企业应用程序中同时访问数据库的用户的平均数量或确切数量?我想看看我在Glassfish应用服务器中设置的“连接池设置”是否适合我的Web应用程序。我需要正确设置Application Server中连接池设置的最大连接数。最近,我的应用程序无法连接,并在客户端请求数据库过期时抛出异常。同时访问Web应用程序中的数据库
回答
有多种方式。
一个最简单的方法就是从DBA处获得帮助 - 他们可以确切地告诉您在给定时间从Web服务器或连接池的用户标识有多少个连接处于活动状态。
如果您想要一些兴奋点,您将不得不使用glassfish提供的JMX管理扩展。清单6上的this page - 给出了一个如何编写基于JMS的片段来监控连接池的例子。
最后,您必须确保您的应用程序中的所有连接都由connection.close();
类型的调用明确关闭。在某些情况下,您还需要关闭ResultSet。 接下来是限制你的http线程池,以避免太多的并发访问,如果你的数据库连接需要更长的时间才能关闭。
感谢您的建议,您提到的链接相当有趣。不过,你提到“在某些情况下,你还需要关闭RecordSet”,而且我也从很多专家那里听到了同样的事情,我想知道在哪些情况下显式关闭结果集非常重要。他们应该关闭声明。你可以让我知道。 – user981116 2012-03-02 21:23:51
嗨 - 理想情况下,当语句对象关闭时,ResultSet会关闭。有些驱动程序供应商没有正确实施该规范。如此安全地关闭两者。它没有伤害。这适用于将您的对帐单打开以进行其他处理的情况。 – 2012-03-02 21:30:37
- 1. Web应用程序:管理用户访问数据库
- 2. 如何从单个Web应用程序访问两个不同的数据库
- 3. 访问数据库到Web应用程序
- 4. 数据库应用程序,在Mac,iPad和通过Web访问
- 5. Flex Web应用程序可以访问sqlite数据库吗?
- 6. 在访问Azure Web应用程序时建立数据库连接时出错
- 7. 从两个不同的应用程序访问数据库
- 8. 如何让JPA应用程序访问不同的数据库?
- 9. 从2个应用程序访问相同的SQLite数据库
- 10. 从不同的应用程序访问数据库
- 11. 访问相同数据库的多个Grails应用程序
- 12. 如何从数据库访问其他Web应用程序的数据
- 13. 访问网络应用程序中的Web数据表
- 14. 访问Web数据以便在应用程序中使用?
- 15. Azure的Web应用程序WAAD到Web应用程序访问
- 16. 在IIS中部署的Web应用程序无法访问数据库
- 17. 通过JPA比较数据库表访问在Web应用程序中的EJB
- 18. 访问SqlIte数据库时应用程序崩溃
- 19. 访问sqlite数据库时,应用程序不断崩溃
- 20. 从MVC 4应用程序访问数据库时出错
- 21. 从不同的桌面应用程序访问相同的数据库
- 22. Web应用程序+桌面应用程序的相同数据库
- 23. 从HTML5/JS中的UWP应用程序访问数据库
- 24. 尝试访问Android应用程序中的数据库
- 25. Visual Studio应用程序的数据库访问问题
- 26. 数据库的实时Web应用程序(低延迟响应)
- 27. 在应用程序中使用greendao访问数据库
- 28. 什么是访问数据库的最佳基于Web的应用程序
- 29. Azure的Web应用程序无法访问天蓝色的数据库
- 30. 如何同步在线数据库(的Web应用程序)和离线数据库(的桌面应用程序)?
您确定在使用它们之后正确关闭连接吗? – GriffeyDog 2012-03-01 22:13:53
在Web应用程序中,是的,我正在关闭连接和语句。但是,有时候有些人直接访问数据库,我担心他们有时会忘记正确关闭它们。在DB conf文件中,我看到连接的最大数量是100.请注意,此Web应用程序和连接池中有多个用户,最大连接数仅设置为4。所以我暂时增加了它。我想知道是否有一些方法来监测平均数量。同时使用db连接的请求。 – user981116 2012-03-01 22:19:58
你确定你需要每个用户的数据库连接吗? – perissf 2012-03-03 09:46:18