没有应用程序服务器的Postgresql池连接

时间:2012-06-26 13:40:41

标签: postgresql connection pool

这是我跟进我之前发布的question,我被建议使用连接池连接到我的Postgres数据库。根据{{​​3}}文档,他们提到可以使用两种类型的池。一个是Application Server,另一个没有Application Server。我打算不再使用Application Server,原因我稍后会提出。我有一个关于没有App Server的连接池的快速问题:

  

如果您确定要使用它,则必须设置属性dataSourceName,databaseName,user和password(如果用户需要)。 serverName,portNumber,initialConnections和maxConnections的设置是可选的。请注意,仅汇集默认用户的连接!其他用户的连接将是正常的非池连接,并且不会计入最大池大小限制。

什么是默认用户?它是Postgres数据库用户/角色吗?将这些软件包添加到我的前端是否足够,并且只有运行Postgres的服务器?

我之所以倾向于这是因为我之前曾使用过Glassfish,虽然使用数据源进行连接和持久化是轻而易举的,但是我遇到了从已经创建的Postgres数据库生成实体类的问题(240表格,请参阅Postgres' jdbc4here)。

因此,我抛弃了使用EJB和Glassfish的想法,而是使用了一个简单的Singleton Pattern和一个jdbc连接来连接到我的数据库。 应用程序运行速度非常快,这就是为什么我倾向于不使用Application Server。这是一个正确的印象还是我错误地知道了?

1 个答案:

答案 0 :(得分:0)

首先,那里的信息太少,无法确定应用服务器是否有帮助。通常它不是速度问题,而是整个企业中不同应用程序中重用逻辑的问题。

其次,对于连接池,您必须记住的是,您不能将一个用户的连接重新用作另一个用户。因此,您通常希望在单个应用程序用户下拥有连接池。这在连接池级别配置。你可以有几个连接池将不同的应用程序连接到不同用户下的数据库。