私は Apache Velocity Template を使用して、Java サービスからの SOA ベースのイベントで設定されたパラメーターを使用して電子メール本文を生成しています。
Java では、起動する SOA イベントのパラメータを設定します。パラメータは次のように設定されます。
createSOAEventParam(uow, soaEvent.getEventId(), "startedOn", startedOn);
createSOAEventParam(uow, soaEvent.getEventId(), "lastRunDate", new DateTime().toString());
また、各サブプロセスで関連付けられるファイル名とファイル サイズを次のように設定します。
**for(String subProcess : subProcesses){
File file = new File(GOLD_DIR + subProcess + ".dat");
if(file!=null && file.exists()){
createSOAEventParam(uow, soaEvent.getEventId(), file.getName(), String.valueOf(file.length()));
}
}**
ここでのタスクは、VTL を使用してこれらのパラメーターを出力する電子メール本文のエントリがあるアプリケーション リソースでこれらのパラメーターを取得することです。このようなもの:
label.Interfaces.FailureMessage.body=
<html>[label.LastSubmittedDate]: #if($startedOn != "") $startedOn #end <br/>
[label.FileName]: (iteration logic here) [label.FileSize]: (iteration logic here)<br/>
最後に「.dat」を持つすべてのパラメーターを反復処理する必要があります。これは、ファイル名を表し、Java コードのイベント名であり、イベント名の値であるファイル サイズも取得するためです。この反復を VTL で実行するにはどうすればよいですか?