9

サーバーへの最初の RPC 呼び出し中にタイムアウトが発生しますが、その後の要求は成功します。サーバーは、最初の呼び出し時に要求を処理するために必要なライブラリをロードするため、応答でタイムアウトします。この遅延により、一部のクライアントがタイムアウトします。クライアントのタイムアウト遅延を増やすことは可能ですが、クラスのロードがアプリケーションの応答性に与える影響を最小限に抑えたいと考えています。

.jarアプリケーションのファイルが最初に実行されるときに、クラスのロードによって最初の呼び出しで遅延が発生しないように、Java クラス ファイルをプリロードするにはどうすればよいでしょうか。

4

3 に答える 3

3

試してみたいことの 1 つは、Java サーバー自体の内部に単純なクライアントを作成することです。このクライアントは、起動時にサーバー内のメソッドを呼び出すだけで何もせず、クラスを強制的にロードします。この小さなクライアントが結果 (またはコールバック) を取得した後、サーバーを「外部からアクセス可能な」状態にします。

于 2009-03-24T15:00:51.620 に答える
1

サーバーを開く直前に接続を偽造することをお勧めします。これにより、(ほとんどの) 関連する遅延初期化が確実に実行されます。

于 2009-03-24T15:02:37.917 に答える