如何知道在我的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. Flex Web应用程序可以访问sqlite数据库吗?
- 3. 在访问Azure Web应用程序时建立数据库连接时出错
- 4. 从2个应用程序访问相同的SQLite数据库
- 5. 如何让JPA应用程序访问不同的数据库?
- 6. 如何从数据库访问其他Web应用程序的数据
- 7. 访问网络应用程序中的Web数据表
- 8. 访问Web数据以便在应用程序中使用?
- 9. 通过JPA比较数据库表访问在Web应用程序中的EJB
- 10. 访问sqlite数据库时,应用程序不断崩溃
- 11. Web应用程序+桌面应用程序的相同数据库
- 12. 在应用程序中使用greendao访问数据库
- 13. Azure的Web应用程序无法访问天蓝色的数据库
- 14. 什么是访问数据库的最佳基于Web的应用程序
- 15. 访问来自Web应用程序的Active Directory数据
- 16. 新Web应用程序的最佳数据访问方法
- 17. 数据库设计web应用程序
- 18. Web应用程序数据库ECONNRESET
- 19. Web应用程序数据库
- 20. 同步android应用程序与Web服务器数据库的数据库
- 21. DLL访问应用程序的数据
- 22. 将第三方应用程序数据库(通过REST API)与SQL数据库同步的Web应用程序
- 23. 在Azure上托管的Web应用程序访问本地SQL数据库
- 24. 如何验证访问sql数据库的asp.net web应用程序
- 25. 针对Web应用程序的并发数据库访问模式
- 26. Web应用程序的访问控制
- 27. 如何使用Firebase实时数据库的Web应用程序
- 28. Android应用程序如何访问集中式数据库
- 29. 如何访问多个数据库中轨3.1.0应用程序?
- 30. 在iOS应用程序中访问SQL数据库
您确定在使用它们之后正确关闭连接吗? – 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