我有一段代码可以检查一些约束,以防它抛出异常。我想在我的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
级别没有帮助。还有其他提示/帮助吗?