0

Javaでサーバーを作成します。サーバーはポート 111 でリクエストを受け入れ、クライアントがサーバーに接続すると、JSON ファイルをサーバーに送信します。サーバーは JSON を受け取り、postgres データベースに保存する必要があります。

私の質問は、postgres 接続を管理する方法です。

接続を 1 つだけ作成してクライアントの要求ごとに同期するか、サーバーに接続されているクライアントごとに新しい接続を作成する必要があります。

つまり:

--------- 1 つの接続のみ: --------------

サーバーは、との唯一の接続を作成します

_connection = DriverManager.
   getConnection("jdbc:postgresql:"+_dbName, _username, _password);

そして、すべてのクライアントがこの接続を使用します

syncronize(_connection) { send data to database }

--------- すべてのクライアントの接続 -------------

サーバーは、クライアント要求を受け入れると、接続されたクライアントの新しい接続を作成します

_clientConnection = DriverManager.
   getConnection("jdbc:postgresql:"+_dbName, _username, _password);

そして、すべてのクライアントには個人的なつながりがあります。

このようなことを行うための最良の作業方法を説明できる人はいますか? MySQLも同じだと思います。

4

1 に答える 1

4

ベスト プラクティスは、接続のプールを使用することです。これにより、

  • 複数のクライアントが同時にデータベースにアクセスできます
  • 開いている接続の数は常に妥当なままであり、多数の同時リクエストが発生した場合でもサーバーまたはデータベースを屈服させることはありません
  • 接続は常に開いたり閉じたりするわけではありません。接続を開くのは、時間とメモリを消費する操作です

利用可能な無料の接続プールがいくつかあります (C3P0、DBCP など)。グーグルはあなたの友達です。

于 2012-05-01T13:34:01.067 に答える