2012-03-25 20 views
0

私は、ゲーム内のプレーヤーや特定のアイテムに関する情報を取得するためにMySQLデータベースサーバーに接続する必要のあるゲームサーバーを作成しています(後者はサーバーの起動時にのみ取得されます)。データベースへの1つの接続を常時開いておき、使用前に障害が発生したかどうかを確認したり、すべての要求に対して1つの接続を確立したりする必要があります。ゲームサーバーのMySQL接続

現在のシステム(すべてのプレイヤーが参加する新しい接続)は、ログインプロセスに顕著な遅延を追加しています。

常にJavaでMySQL接続を開くことはできますか?

答えて

1

JavaのクラスConnectionPoolを見て、永続的な接続を開いてください。 JavaでのMySql接続プールに関する記事は、hereを参照してください。いくつかの既存の実装では、この質問を参照することができます:Java JDBC connection pool library choice in 2011/2012?

このようにして、何度も接続を開くオーバーヘッドを削減しますが、必要なときに必要な接続量を確保できます。

+1

興味深い記事:http://dev.mysql.com/tech-resources/articles/connection_pooling_with_connectorj.html –

1

Javaで常時開いているMySQL接続を使用することはできますか?

もちろんです。あなたはあなたのすべてのメソッドを作ることができますDataProviderクラス静的(必ずしも同期されていないので、javaのmysqlコネクタはスレッドセーフです)この方法では、接続を行うメソッド(例:初期化)があります。その後、他のすべての方法でこの接続が使用されます。