首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:跨其他J2SE应用程序共享连接池...?

Java:跨其他J2SE应用程序共享连接池...?
EN

Stack Overflow用户
提问于 2010-03-09 03:31:27
回答 1查看 1.8K关注 0票数 1

所以我有一个connection pool设置。这很棒,因为我有一个真正需要它的应用程序。然而,我想知道的是,是否有可能与其他J2SE应用程序共享此连接池?这是否值得,而不是基于每个应用程序的需求创建一个连接池?如果它是谨慎的,我如何才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-09 03:47:43

让连接池在单个JVM中做多件事并不难--这就是应用程序服务器每天要做的事情(使用JNDI在类加载器之间抛出对象)

有趣的是,当您将连接池与需要它的客户端代码放在单独的JVM中时,这不会立即允许简单地从连接池请求和获取连接,然后再返回它。

基本上你有两个选择:

  1. 通过网络对所有JDBC命令执行远程请求。这很可能意味着数据将通过网络传输两次,从数据库到连接池,然后从连接池到应用程序。如果数据库连接是非常昂贵的对象,那么这可能是一个可行的解决方案。
  2. 使用RMI将连接对象从连接池JVM获取到您自己的计算机。这是一个非常昂贵的操作,但据我所知,可以包含实际的驱动程序类,从而允许您的连接池提供到应用程序JVM未知的数据库的连接。对我来说,只有在数据库连接非常昂贵,或者需要在部署后能够支持其他数据库而不更改原始部署的情况下,这才有意义。

请注意,拥有连接池的主要原因是,创建连接、使用连接、然后丢弃连接的成本都很高。一些数据库比其他数据库更便宜,例如MySQl非常便宜(或者在我尝试的时候是),所以这样做可能是最简单的。

所以。首先:及时衡量连接池为您购买了什么,然后考虑是否值得进一步集中这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2404107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档