rmicタイムアウトによる配備の失敗の対処

EJBを配備する際にダイナミック・プロキシを使用しないオプション(--rmic)を付けると、webotx_deploy.log には以下のメッセージを出力して、配備に失敗することがあります。

OTX03010054: rmic compilation failed... [Job_Executor0] com.nec.webotx.ejb.codegen.ProcessExecutorException: Process timed out.
概要

リモートインタフェースを持つEJBを配備する際にダイナミック・プロキシを使用しないように設定した場合、RMI-IIOPのスタブ、スケルトンの生成のためrmicコンパイルが行なわれます(デフォルトは行いません)。このrmicコンパイル処理にはタイムアウト時間が設定されていますが、rmicの処理はかなりのCPUパワーを必要とするため、使用しているCPUによってはタイムアウトが発生して配備が失敗する可能性があります。

対処方法

デフォルトのrmicのタイムアウト時間はEJBのホーム、リモートインタフェース1つにつき600秒に設定されています。この値を変更するにはドメインのJavaオプションに以下を追加してください。

-Dcom.nec.webotx.deployment.Rmic.TimeoutMS=<1インタフェースのrmicタイムアウト時間(msec)>

関連情報