EDMRefresher(サービスプロセスのリフレッシュ)
機能
すべてのサービスプロセスをリフレッシュします。リフレッシュとは,DocumentBrokerサーバを停止することなく,クライアントからの要求に対して文書空間へのサービスを供給しながら,サービスプロセスを順次再起動することです。
サービスプロセスは,EDMStartコマンドで起動した順に,一つずつリフレッシュされます。各サービスプロセスがリフレッシュ対象になったとき,次のどちらかの条件を満たしていると,リフレッシュされます。
- 接続中のユーザがいない,または接続中のユーザはいるがトランザクションはすべて決着している※
この場合,猶予時間内であっても,サービスプロセスがリフレッシュされます。
- 注※
- どちらの状態でリフレッシュされるのかは,DocumentSpace構成定義ファイルのRefreshTimingエントリで指定した値によって決定します。
-
- コマンド実行後,猶予時間が経過した
この場合,接続中のユーザは強制的にサーバとの接続を切断されます。なお,猶予する事象は,DocumentSpace構成定義ファイルのRefreshTimingエントリで指定した値によって決定します。
形式
EDMRefresher 〔-t 猶予時間〕
オプション
- -t 猶予時間
- 接続中のユーザがログアウトするための猶予時間,または接続中のユーザが未決着トランザクションを決着するための猶予時間を秒で設定します。0~7,200の値を指定してください。指定を省略した場合は,600を仮定します。0を指定した場合,接続中のユーザがログアウトする,または接続中のユーザが未決着のトランザクションを決着するのを待たないで,直ちにリフレッシュします。
注意事項
- このコマンドを実行する前に,DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定してください。
- このコマンドは,DocumentBrokerサーバの起動中に実行してください。
- このコマンドは,多重実行できません。
- 複数のサービスプロセスがある場合,コマンド実行中にログインしたユーザが,リフレッシュ後のサービスプロセスに接続することは保証されません。リフレッシュ前のサービスプロセスに接続した場合,リフレッシュ実行時にサーバへの接続が強制的に切断される可能性があります。
- このコマンドの実行中にユーザが文書空間に接続した場合,エラーになることがあります。例えば,C++ クラスライブラリを使用している場合,CdbrSession::Connectメソッドで次のどちらかのエラーが返却されることがあります。
- major_code = ERR_DBR
minor_code = ERR_NO_SERVICE
- major_code = ERR_DMA
minor_code = DMARC_NETWORK_UNAVAILABLE
- サーバへの接続が強制的に切断された場合,APIで次のエラーが返却されることがあります。
major_code = ERR_DBR
minor_code = ERR_SESSION_NOT_CONNECT
- メモリサイズ監視によるリフレッシュ実行中にこのコマンドを実行した場合,メモリサイズ監視によるリフレッシュの終了を待ってからコマンドによるリフレッシュを実行します。コマンドに指定した猶予時間内にメモリサイズ監視によるリフレッシュが終了しない場合,このコマンドはKMMBR03359-Eを出力し終了します。ただし,サーバはメモリサイズ監視によるリフレッシュの終了を待ってから,すべてのサービスプロセスを順次リフレッシュします。
- サービスプロセスをリフレッシュすると,アプリケーションプロセスとサービスプロセスの通信で使用するポート番号がリフレッシュ前後で変更される可能性があります。アプリケーションプロセスがサービスプロセスに接続後,このコマンドを実行し通信ポート番号が変更され,アプリケーションプロセスとリフレッシュ前のサービスプロセスの通信で使用していたポート番号がほかのプログラムに使用されると,以後アプリケーションプロセスとサービスプロセスとの通信で無応答が発生する原因となります。この現象を回避するために,アプリケーションプロセスとサービスプロセスとの通信で使用するポート番号を固定してください。アプリケーションプロセスとサービスプロセスとの通信で使用する固定ポート番号は,サービスプロセス定義ファイルに指定できます。固定ポート番号の指定については,「4.13 サービスプロセス定義ファイル」と,マニュアル「VisiBroker for C++ プログラマーズガイド」またはマニュアル「VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス」を参照してください。