はじめまして。
田中修と申します。
初めてAsakusaFWにてDireceI/Oバッチジョブをプログラミングしています。
単純なCSVの読み込みをValidとInvalidに分けるCheckのみのプログラミングを
POSDATA-SUMMARIZATION(Tutorial)を参考に生成したのですが
「出力が別の入力を上書きしています」といったエラーが発生し
コンパイルエラーとなってしまいました。
このようなエラーが出る理由がわかりません。
[java] 17:48:15 [main] INFO c.a.c.r.SpiDataClassRepository - データモデルクラスのプラグインを読み出します
[java] 17:48:15 [main] INFO c.a.c.r.SpiExternalIoDescriptionProcessorRepos
itory - 外部入出力のプラグインを読み出します
[java] 17:48:15 [main] INFO c.a.c.r.SpiFlowElementProcessorRepository - フ
ロー要素プロセッサのプラグインを読み出します
[java] 17:48:15 [main] INFO c.a.c.r.SpiFlowGraphRewriterRepository - グラ
フ書き換えプラグインを読み出します
[java] 17:48:15 [main] INFO c.a.c.f.external.ExternalIoAnalyzer - jobflow.CleaningJobFlowの入出力を検証しています
[java] 17:48:15 [main] ERROR c.a.c.flow.FlowCompilingEnvironment - 出力が別
の入力を上書きします (gateway.ExportToCsv->gateway.ImportToCsv)
[java] 17:48:15 [main] ERROR c.a.c.flow.FlowCompilingEnvironment - 出力が別
の入力を上書きします (gateway.ErrorToCsv->gateway.ImportToCsv)
[java] 17:48:15 [main] ERROR c.a.c.flow.FlowCompilingEnvironment - 出力が別
の出力を上書きします (gateway.ErrorToCsv->gateway.ExportToCsv)
[java] 17:48:15 [main] ERROR c.a.c.bootstrap.BatchCompilerDriver - コンパイ
ルはエラーにより中断しました (batch.A)
[java] java.io.IOException: フローの入出力が正しくないため、コンパイルを中
止します (出力が別の入力を上書きします (gateway.ExportToCsv->gateway.ImportToCsv))
@Batch(name = "A")
public class A extends BatchDescription {
@Override
protected void describe() {
run(CleaningJobFlow.class).soon();
}
}
@JobFlow(name = "CleaningJobFlow")
public class CleaningJobFlow extends FlowDescription {
private final ImportFlowPartFactory Import = new ImportFlowPartFactory();
private final In<AImport> In;
private final Out<BExport> Out;
private final Out<CError> Err;
public CleaningJobFlow(
@Import(name = "In", description = ImportToCsv.class) In<AImport> In,
@Export(name = "Out", description = ExportToCsv.class) Out<BExport> Out,
@Export(name = "Err", description = ErrorToCsv.class) Out<CError> Err
) {
this.In = In;
this.Out = Out;
this.Err = Err;
}
@Override
protected void describe() {
ImportFlowPart imported = Import.create(this.In);
Out.add(imported.valid);
Err.add(imported.invalid);
}
}
上記がプログラムです。Eclipse上ではビルドエラーはないものとなっています。
一部実物とは修正してあります。
どなたかご教授いただければ幸いです。
以上。よろしくお願いいたします。