Spring @Transactional rollback vs commit

时间:2017-11-10 07:50:25

标签: java spring transactions eclipselink

我有一段代码可以检查一些约束,以防它抛出异常。我想在我的syslog-db-table中记录该异常。代码如下:

@Service    
class foo{
....
@Autowired
Syslog syslog;
...
@Transactional(rollbackFor = Exception.class)
public void saveEntity() throws Exception {
....
if (checkFails()) {
  syslog.addEntry('failure');
  throw new Exception(Reasons);
 ....

,Syslog看起来像

@Component    
class syslog{

@Autowired 
SyslogRepro syslogRepro

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void addEntry(String text){
   syslogRepro.save(text);
}

和Spring接口保存数据:

public interface SyslogRepro extends JpaRepository<SysLogEntry, Integer> {

我的问题:一旦抛出异常就会开始回滚 - 这通常很好。但我不想回滚我的Syslog条目。无论如何应该写这些。 propagation级别没有帮助。还有其他提示/帮助吗?

0 个答案:

没有答案