最近、Smooks アプリケーションを 1.4 から 1.5.1 にアップグレードしましたが、以下の例外が引き続き発生します。
EDI ファイル org.milyn.cdr.SmooksConfigurationException の処理中にエラーが発生しました: クラス 'org.milyn.smooks.scripting.groovy.GroovyContentHandlerFactory' で @Initialize メソッド 'initialize' を呼び出すときにエラーが発生しました。
私は Smooks と Groovy にかなり慣れていませんが、これはバージョン 1.4 で動作していた私のコードの抜粋です。また、ロードしようとしている 1.5 EDI 定義を含む、すべての 1.5.1 クラスがクラスパスにあります。
Smooks smooks = null;
try {
smooks = new Smooks();
}
catch(Exception exception) { System.out.println("Error " + exception); }
try {
smooks.setReaderConfig(new UNEdifactReaderConfigurator("urn:org.milyn.edi.unedifact:d01b-mapping:*"));
// Create an exec context - no profiles....
ExecutionContext executionContext = smooks.createExecutionContext();
DOMResult domResult = new DOMResult();
// Configure the execution context to generate a report...
executionContext.setEventListener(new HtmlReportGenerator("EDI/reports/report.html"));
smooks.filterSource(new StreamSource((InputStream) bufferedinputstream), domResult);
GroovyContentHandlerFactory からの抽出
@Initialize
public void initialize() throws IOException {
String templateText = StreamUtils.readStreamAsString(getClass().getResourceAsStream("ScriptedGroovy.ftl"));
classTemplate = new FreeMarkerTemplate(templateText);
これを理解しようと何時間も費やしたので、どんな助けやアイデアも大歓迎です。
乾杯、マット