4.2. デプロイメント¶
デプロイメントの仕様について説明します。
4.2.1. 永続化¶
IM-BPM for Accel Platformに対してデプロイを行った場合、デプロイされた情報は全てデータベースに永続化されます。
コラム
ストレージの利用
IM-BPM for Accel Platformでは、テナント環境セットアップ用の資材を除いてストレージを使用していません。
4.2.2. クラスローダ¶
IM-BPM for Accel Platformではデプロイメント単位にクラスローダが用意されます。
これにより、同一デプロイメントにおいてサービスタスク等のプログラムが関連するプログラムの共有が可能です。
クラスローダが用意されるタイミングは、そのデプロイメントに関するリソースに対するアクセスが発生したタイミングとなります。
したがって、プロセス定義の参照や、プロセスインスタンスの実行等が行われなかった場合にはクラスローダが作成されることはありません。
4.2.2.1. リソースの展開先¶
クラスローダはそのクラスローダを生成する直前に、デプロイメントに含まれるリソースを以下の場所に展開します。
{Webアプリケーション配備先}/WEB-INF/work/_jar/{テナントID}/{デプロイメントID}配下
アンデプロイ時にはディレクトリを含めて削除が行われます。
注意
デプロイメントに含まれるリソースに関して
デプロイメントに含まれるjarファイル等は全て展開された状態となります。
したがって、複数のjarに同一のリソースは含めないようにしてください。
また、直接配備先ディレクトリ配下のファイルを編集、差し替えは行わないでください。
コラム
配備先ディレクトリの削除
アプリケーションサーバが停止している状態であれば配備先ディレクトリは削除することが可能です。
削除後、デプロイメントされたリソースに対する参照が行われたタイミングで再度配備が行われます。
4.2.2.2. リソースの配置先に関して¶
デプロイメント用のクラスローダは、親クラスローダとしてWebアプリケーションの持つクラスローダが設定されています。
その為、実行プログラム(Javaクラス、ルール定義)は、デプロイメントに含めず、アプリケーションとして配備することも可能です。
アプリケーションとして事前に作成、配備する場合にはeBuilder等を用いてIM-Jugglingユーザモジュールを作成しwarファイルに含めてください。
4.2.3. アンデプロイ¶
アンデプロイが行われた場合、デプロイしたリソースに関する実行情報、履歴も共に削除されます。
その為、デプロイメントに含まれていたプロセス定義、及びプロセスインスタンスは全て削除されます。
プロセス定義を無効化する目的の場合には、プロセス定義自体を無効化してください。
4.2.3.1. アンデプロイされたプロセスインスタンスとCallActivity¶
アンデプロイ時にプロセス定義、プロセスインスタンスが削除されますが、別のデプロイメント、別のプロセスインスタンスからCallActivityを利用して
アンデプロイ対象となったプロセスインスタンスを呼び出していた場合、呼び出し元のプロセスは呼び出し先のフロー完了待ちとなり待機状態となります。
この状態を回避する場合には、プロセスインスタンスのマイグレーション機能を利用し、該当のCallActivityに待機しているプロセスインスタンスの移行を行ってください。