private void acquireEtlLock() throws StepwiseException {
try {
if (!Oracle.acquireLockNoWait(this.context.getConnection(), getProcessLockName())) {
throw new StepwiseException("Another session is in progress for process: "
+ this.context.getSession().getProcessName());
}
this.isLockAcquired = true;
} catch (SQLException e) {
throw new StepwiseException("Error acquiring session lock for process: "
+ this.context.getSession().getProcessName(), e);
}
}
「!Oracle.acquireLockNoWait」の正確な機能を知りたいのですが、実際にはこれはcronジョブを呼び出すメソッドですが、何らかの理由で実行中のジョブが見つかりません。したがって、このコードがブロックまたはデッドロックを引き起こす可能性があるかどうかを確認したかっただけです。
「プロセスのために別のセッションが進行中です:」というエラーが表示されます。これにはどのような理由が考えられますか?