我的Java(JPA+Hibernate+CommonsDBCP)应用程序连接到MySQL时遇到了很多连接问题。我做过研究,用验证查询、超时、X之前的测试等调整了所有设置。
这条路径让我想到了另一个比较DBCP和C3PO的StackOverflow问题。从回复来看,我决定一定要试试C3PO。
不过,在这一过程中,我发现了另一个选项:命名管道,因为app服务器和MySQL都在同一台机器上运行。问题是,我找不到这个方法的很多细节。
所以我的问题是:什么是最稳定的选项:命名管道(Named pipes)或TCP w/C3PO?任何故事或知识都将是最受欢迎的以及答案。
最佳答案
好吧,这取决于你的情况:
谁在连接MySQL?慢速局域网或广域网连接的客户端?还是本地主机?
TCP/IP有连接延迟的好处,而命名管道没有,所以对于慢速链接或广域网,我会使用TCP/IP;否则,命名管道。
此外,本地命名管道以内核模式运行,因此它们将非常快。
试试看http://msdn.microsoft.com/en-us/library/aa178138(SQL.80).aspx
即使它提到了MS SQL Server,在内核模式下运行的本地命名管道仍然应该适用。