サンプル 5b は、ServerSocket
にカスタマイズ済みの backlog
パラメータを指定するという、RMI ソケットの標準的なカスタマイズ方法を示しています。このサンプルは、カスタム ストリームおよび SSL ソケットを提供するように簡単に拡張できます。サードパーティの標準カスタマイズや製品も使用できます。
サンプルを開始する前に deploy.properties
ファイルで必要なホスト情報を変更します。JRun のルート ディレクトリは、JRun インストール ディレクトリに置き換えてください。
bash$ export JRUN_HOME=JRun のルート ディレクトリ
bash$ cd JRun のルート ディレクトリ/samples/sample5b
bash$ make jars
bash$ make deploy bash$ make standalone
次に、別のコマンド プロンプト ウィンドウでクライアントを起動します。
bash$ make go host=ホスト名 count=10
ServerSockets
に対する backlog
パラメータの既定値は 50 です。キューが満杯になったときに接続指示が出されると、その接続は拒否されます。count=10
は、サーバへの同時接続数を指定します。
backlog キューが受け入れ可能な同時接続数を超えてサンプルを再実行すると、エラーが発生します。
bash$ make go host=ホスト名 count=150
このエラーが発生しないようにするには、META-INF/ejb-jar.xml
ファイルの次の env-entry
要素を削除します。
<env-entry>
<env-entry-name>ejipt.homeSocketFactory</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>ejbeans.SocketFactory</env-entry-value> </env-entry> <env-entry> <env-entry-name>ejipt.objectSocketFactory</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>ejbeans.SocketFactory</env-entry-value> </env-entry>
bash$ make jars
bash$ make deploy bash$ make standalone
bash$ make go host=ホスト名 count=350
backlog キューが 350 個の同時接続を処理するように拡張されます。現実的には、350 個もの接続要求がサーバに対して同時に出されるという事態はあまり起きませんが、活動がピークに達して接続が拒否されるような場合は、この種のカスタマイズが有効です。