Quartz の Job に abstract クラスを挟んだら ObjectOptimisticLockingFailureException が ― 2025年02月09日 15時01分29秒
問題に遭遇し最終的に以下の形まで削り落とす。
本当に変哲のないコード。共通前後処理等を入れやすくするために、他の関数を abstract で準備するだけの実装。
import org.quartz.Job;
public abstract class QuartzJob implements Job {
@Override
public void execute(JobExecutionContext jec) throws JobExecutionException {
executeJob(jec);
}
public abstract void executeJob(JobExecutionContext jec) throws JobExecutionException;
}
しかし、なぜだか ObjectOptimisticLockingFailureException がどこからともなく投げられて、トランザクションが失敗する。スタックトレースも深すぎて、勝手に足切りされてどこから例外が投げられているのかも分からない。
最近のコメント