2

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);が、それが正しいとは思いません。

ご協力いただきありがとうございます。

4

2 に答える 2

1

MySQL コネクタ/J には、Pooled DataSource 実装が付属していません。サードパーティのソフトウェアを使用するか、コンテナに付属しているものを使用する必要があります。Tomcat はすぐに commons-dbcp を使用すると思います。

c3p0 は、プーリングが組み込まれた直接構築可能なデータソースを持つ別のオプションです。

于 2012-07-06T00:40:08.113 に答える