java Lock失效问题请教各位

使用的是Spring中的事务管理方式,@Transactional(readOnly = false, propagation = Propagation.SUPPORTS)申明了接口,在用实现类中我加入了java.util.concurrent.locks.Lock的机制,不知道是@Transactional(readOnly = false, propagation = Propagation.SUPPORTS)由于这个导致lock锁失效还是我的lock锁代码有误,现贴出lock锁的代码部分。
Lock lock = new ReentrantLock();
lock.lock();
try {
MarkList markList = new MarkList();
markList.setTimestamp(new Date());
markList.setUserId(userId);
markList.setTargetId(targetId);
markList.setMarkCount(markCount);
markList.setMarkResidue(markCount);

if(overDate != null) {
markList.setOverDate(overDate.getTime());
}
markList.setMarkSource(markSource);
markList.setMarkStatus(markStatus);
this.add(userId, markCount);
session.save(markList);
} finally {
lock.unlock();
}

使用2个线程访问的时候,lock锁会失效,不知是怎么回事,用单独的main函数测试锁是有效的,使用到项目中锁就失效了,请教高手锁为什么会失效?

你可能感兴趣的:(java)