カスタムサービスの演習
推定所要時間
ファイルシステムを使用してデータベースにファイルを保管するカスタムサービスを作成します。
説明:
15 分
演習:
15 分
説明
カスタムサービスを実装して設定します。カスタムサービスはユーザ定義サービスで、Creo Elements/Direct Model Manager インフラストラクチャを拡張できます。この例のカスタムサービスは、ディレクトリを監視し、すべてのファイルを特定のフォルダにあるこのディレクトリに保管します。このファイルは、実行されるまでディレクトリから削除されせん。
演習
この演習では、ファイルシステムを使用してデータベースにファイルを保管するカスタムサービスを実装および設定します。
この演習の主な手順は以下のとおりです。
1. サービスクラスの実装
2. ファイルの親として使用するドキュメントの作成
3. サービスの設定
4. サービスの実行
5. サービスの信頼性のテスト
6. サービスの再設定
ステップ 1:サービスクラスの実装
com.osm.services.AbstractPollingManagerService クラスの派生クラスである新しい com.acme.services.CheckInService クラスを実装します。
* 
実装サンプルが com.osm.services.samples.CheckInService クラスにあります。このクラスを com.acme.services パッケージにコピーします。
コピーした Java パッケージを com.osm.services.samples から com.acme.services に変更してください。
initialize によって、サービス固有の設定パラメータが読み込まれます。実装サンプルは次のとおりです。
@Override
public void initialize(final ServiceConfiguration configuration, final Controller controller, final int serviceId,
final ServiceLock lock) throws Exception {
super.initialize(configuration, controller, serviceId, lock);
this.directory = new File(configuration.getChildValue(DIRECTORY_TAG, null));
this.repositoryElid = configuration.getChildValue(REPOSITORY_ELID_TAG, null);
}
ServiceConfiguration クラスは、<Service> 要素への相対 XPath を指定することによって、あらゆる設定パラメータにアクセスできます。サービスに対して、入れ子になった設定パラメータを追加することができます。
* 
AbstractPollingManagerService クラスを設定するため、スーパークラスの初期化メソッドを呼び出す必要があります。
ワーカ関数の繰り返しごとに、process メソッドが呼び出されます。サービスは、設定ファイルで指定されたディレクトリにあるファイルをチェックし、ファイルに ELID (要素 ID) を付けて repositoryElid 要素に含めます。
ステップ 2:ファイルの親として使用するドキュメントの作成
1. Creo Elements/Direct Model Manager にログインし、デフォルトのドキュメントを作成します。たとえば、File Repository というドキュメントを作成します。
2. このドキュメントの要素 ID に注意してください。
ステップ 3:サービスの設定
1. ServiceControllerConfig.xml ファイルを CustomServiceControllerConfig.xml ファイルにコピーします。
2. 以下を CustomServiceControllerConfig.xml ファイルの <Services> セクションに追加します。
<Service enabled="true" java_class="com.acme.services.CheckInService" name="CheckInService">
<Executable> CheckInService.exe</Executable>
<PollIntervalInSeconds>15</PollIntervalInSeconds>
<Directory> ... specify input directory here ... </Directory>
<RepositoryElid> ... specify document ELID here ...</RepositoryElid>
<DefaultUser> ... specify document owner here ... </DefaultUser>
</Service>
3. ステップ 2 で追加した XML 要素内の情報を指定します。
* 
ユーザのパスワードを指定する必要はありません。サービスインフラストラクチャを使用すると、ユーザ名でログインすることができます。
ステップ 4:サービスの実行
Windows の「サービス」パネルで Service Controller を再起動し、CheckIn ディレクトリにファイルを追加します。Model Manager クライアントを開いて、File Repository ドキュメントに含まれるファイルを表示します。
ステップ 5:サービスの信頼性のテスト
1. Window の Task Manager を開いて、「プロセス」パネルをクリックします。
2. CheckInServices.exe プロセスを選択して終了させます。
3. Service Controller がサービスの予期せぬシャットダウンを検出し、すぐにサービスを再起動します。
ステップ 6:サービスの再設定
1. CustomServiceControllerConfig.xml ファイルで、ポーリング間隔を 60 秒に変更し、Service Controller を再起動します。
2. 上述の XML ファイルで指定したディレクトリにファイルを追加します。ファイルが処理されるまで最大 60 秒かかるようになります。
これは役に立ちましたか?