【发布时间】:2012-07-06 09:05:49
【问题描述】:
我正在用 Java 构建一个套接字服务器。每个新的套接字连接都会启动一个新线程,该线程需要连接到 MySQL 服务器。
目前我为每个线程都有一个新连接,但想更改为连接池,以便更有效地回收连接。
然而,这个池的默认大小似乎是 5 个连接。我目前正在处理 100 多个客户端,而 5 个连接还不够。我找到的所有文档都提到了不同的服务器(Tomcat、JBoss、GlassFish 等)以及如何将值放入它们的 XML 配置文件中。
由于我没有使用任何这些,我找不到如何设置 max pool size 值。我还想避免这个项目的第三方库(例如 Apache Commons)。
Java 的 MySQL 连接器是一个例外(可在此处找到:http://dev.mysql.com/usingmysql/java/)
我找到的唯一可能的参考是env.put(JNDIPooledSource.MAX_POOL_SIZE, 500);,但我不认为这是正确的。
感谢您的帮助。
【问题讨论】:
-
很明显你在谈论 java.sql.Connection 对象,对吧?您目前使用哪种池化机制或库?
-
是的,我试图分别在
javax.naming和javax.sql中使用Context和DataSource类来创建一个池,但似乎无法设置它的大小。 -
我很困惑:如果您不使用上面提到的某些服务器,那么这个 DataSource 来自哪里?它必须在那里配置。
标签: java mysql connection-pooling