为桌面应用程序执行连接池是否有意义?

时间:2014-01-06 20:19:04

标签: java database-connection desktop-application

我正在开发一个与数据库通信的Java桌面应用程序。有五个用户和一个数据库。每个用户在他们的机器上都有自己的软件副本,数据库位于同一局域网中的计算机上。

我读过连接池只针对网络应用程序。我担心的是,是否为每一个减慢软件速度的查询打开和关闭一个新连接?在这种情况下,特别是桌面应用程序中使用连接池是否有意义?如果打开/关闭连接 实际上是瓶颈并且连接池不可行,那么正确的策略是什么?

3 个答案:

答案 0 :(得分:3)

连接池可以通过多种方式提供帮助。当然,在webapp中,它可以通过保持连接打开来减少负载,从而减少重新连接每个请求的时间/开销。你可以在桌面应用程序中获得一些,但我怀疑你是否注意到它们的区别。然而,最大的无益益处之一是自动重新连接处理。根据您的应用程序的设置方式,如果您的连接应该免费下载,您可以获得透明(或至少半透明)的重新连接支持。

答案 1 :(得分:1)

答案是,这取决于。

这取决于应用程序的复杂程度以及您要对数据库进行的同步查询的数量。

如果您所做的一切都是不时拨打一个电话,那么拥有一个游泳池可能不值得努力,但保持一个连接可用。

另一方面,如果您正在同时进行大量查询,那么将事件设置为简单池将是有益的。

问题越复杂,建立连接池的好处就越多

这当然是一种平衡行为。如果你有帮助的话,你不希望很长时间没有任何关系。

答案 2 :(得分:0)

连接池是“服务器端的东西”。只有将数据库所在的连接池化,例如,在可能位于数据库和客户端之间的应用程序服务器上,才真正有意义。

问:你有应用服务器或任何类型的中间件吗?或者您的客户是否都直接连接到数据库?

如果是后者,数据库的是什么?每个供应商都有自己的扩展,可能有所帮助。