exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId());
ExportDataCopy copy = createExportDataCopy();
if (!copy.copyData(exporterBean)) {
throw new BulkLoaderSystemException(getClass(), "TG-RECOVERER-01012",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId());
} else {
// 更新レコードのコピーが全て終了しているかを表すフラグを取得
updateEnd = copy.isUpdateEnd();
LOG.info("TG-RECOVERER-01020",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId());
}
}
// エクスポートテンポラリテーブルの削除及びロック解除を行う
LOG.info("TG-RECOVERER-01021",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId());
LockRelease lock = createLockRelease();
if (!lock.releaseLock(exporterBean, updateEnd)) {
// ロックの解除に失敗
throw new BulkLoaderSystemException(getClass(), "TG-RECOVERER-01013",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId());
} else {
LOG.info("TG-RECOVERER-01022",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId());
}
// 処理結果をログに出力
if (rollBack) {
LOG.info("TG-RECOVERER-01014",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId(),
"ロールバック");
} else {
if (updateEnd) {
LOG.info("TG-RECOVERER-01014",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId(),
"ロールフォワード");
} else {
throw new BulkLoaderSystemException(getClass(), "TG-RECOVERER-01015",
exporterBean.getTargetName(),
exporterBean.getBatchId(),
exporterBean.getJobflowId(),
exporterBean.getJobflowSid(),
exporterBean.getExecutionId(),