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 作业的方法,但由于某种原因,我找不到正在运行的作业。所以只是想检查这段代码是否会导致阻塞或死锁。
我收到错误“正在处理另一个会话:”,这可能是什么原因?