繁体   English   中英

我应该保持 JDBC 连接处于活动状态吗?

[英]Should I keep JDBC connection alive?

我正在使用 JDA 开发一个不和谐机器人,在这个不和谐机器人中,有一些命令需要访问数据库才能插入、删除或更新记录,现在有很多这样的命令,所以当不和谐服务器达到顶峰时,很多连接可能需要。

我的问题是:我是否应该打开一个连接并将其保持打开状态(单例),并且只要我想使用它就调用该连接+只要它死了就重新连接(服务器端超时)? 还是连接,执行,最后关闭?

非常感谢!

特别是对于多线程应用程序,值得考虑这一点。 连接成本很高,主要用于数据库端的上下文。 因此,出于性能原因,您可能希望保持连接。

但是连接仍然很昂贵,并且您不想并行打开太多连接,因为这也会影响性能。

这就是多线程应用程序保持许多连接打开但线程不会占用每个连接的原因。 相反,他们从池中取出一个,使用它,然后将其归还。 连接池决定需要打开或关闭多少个连接。

为了不重新发明轮子,请查看数据库连接池实现,例如Apache Commons DBCP

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM