11. ストレージの移行

11.1. 概要

サーバマシンの入れ替えなどにより、Create!Form 製品を再インストールする必要があり、なおかつ移行元で実行したジョブを移行先でも再実行するような場合、ストレージの移行が必要になります。 (サーバマシンはそのままで、製品を別のディレクトリへ再インストールする場合も含まれます)

ストレージを移行することで、移行元のジョブを移行先でも利用できるようになります。 ただし、ストレージを移行する場合、移行先のストレージのデータはすべて削除する必要がありますので、ご注意ください。

11.2. 移行手順

11.2.1. ストレージパスの確認

RemoteObject へログインし、ホーム画面から 「ストレージ設定」 をクリックします。

_images/017.png

移行元のストレージパスを確認しておきます。 また、移行先の RemoteObject にもログインし、移行元と同様にストレージパスを確認しておきます。

ヒント

Create!Form RemoteObject が初期設定のインストール先に導入されている場合、ストレージパスは「 ユーザーデータディレクトリ \storage」となります。

11.2.2. サービスの停止

ストレージを移行する前に、移行元と移行先のサービスを停止する必要があります。 サービスが稼動した状態ではストレージを正しく移行することができません。 また、ストレージの移行中はサービスを稼動させないでください。

Windows 環境

以下のコマンドを移行元と移行先のサーバでそれぞれ実行します。

net stop cfccd11
net stop cfmongod11

Linux 環境

service cfccd11 stop
service cfmongod11 stop

11.2.3. 移行先のストレージの退避

移行先のストレージパスのディレクトリ名を「storage_bak」などへ変更し、退避しておきます。

11.2.4. ストレージの移行

移行元のストレージパスのディレクトリを移行先のストレージパスのディレクトリへコピーします。

11.2.5. 帳票資源ファイルの作業ディレクトリの移行

Create!Form ランタイムの実行に必要な帳票資源ファイルの作業ディレクトリを移行元から移行先へコピーします。

移行元と移行先で帳票資源ファイルの作業ディレクトリを配置するパスが異なる場合、そのままでは移行先でジョブの再実行を行うことができません。 ジョブの再実行を正しく行うためには、 作業ディレクトリのパスの再設定 を行ってください。

11.2.6. サービスの開始

ストレージを移行後はサービスを開始してサービスが正しく稼働することを確認してください。

Windows 環境

以下のコマンドを移行先のサーバで実行します。

net start cfmongod11
net start cfccd11

Linux 環境

service cfmongod11 start
service cfccd11 start

11.3. 作業ディレクトリのパスの再設定

ストレージを移行するにあたり、RemoteObject のクライアントAPIで実行したジョブに設定されている作業ディレクトリ(ジョブプロパティ「cf.opt.D」)が移行先に存在しない場合、移行先でジョブを取得することはできますが、ジョブの再実行を行うことができません。 これは、ジョブの再実行の際に、ジョブに設定されている作業ディレクトリのパスを参照しているためです。

ジョブの再実行を正しく行うためには、移行先に存在する作業ディレクトリのパスを再設定する必要があります。

ヒント

移行元と移行先の帳票資源ファイルの作業ディレクトリのパスが同一の場合、再設定は必要ありません。

作業ディレクトリのパスの再設定は、RemoteObject のクライアントAPIの Job オブジェクトの removeOpt と addOpt メソッドを使用して行います。 例えば、移行元で作業ディレクトリを「C:/path/to/formfiles」に配置しており、移行先では「D:/change/path/to/formfiles」に配置している場合、以下のように作業ディレクトリを再設定してジョブを実行します。

Job job = server.lookupJob(jobId);
job.removeOpt("D");
job.addOpt("D", "D:/change/path/to/formfiles");
JobResult result = job.execute();