我们有一个像这样的服务类
@Service
@Transactional
public class DoSomeServiceImpl1 implements IDoSomeService {
@Override
public void doSomething() throws SomeException {
//dao calls (database insert)
//ldap dao call (ldap insert)
}
当 ldap dao 调用发生异常时,插入到数据库中的数据仍然存在,不会回滚。
ldap 调用方法类似于下面的方法
public void insertLDAPRecord() throws SomeException {
try {
//ldap insert logic
} catch (LDAPException e) {
throw new SomeException("ldapexception",e);
}
}
谁可以帮我这个事?为什么数据库不会插入回滚?顺便说一句,我们正在使用 spring-tx 版本 4.2.4.RELEASE 进行 dao 调用,我们的应用程序在 Websphere 8.5 上运行