【发布时间】:2010-11-28 01:30:47
【问题描述】:
假设我有以下示例:
@Transactional(propagation=Propagation.SUPPORTS, readOnly=true)
public class MyServiceImpl implements MyService {
...
@Transactional(propagation=Propagation.REQUIRED, readOnly=false)
public TransactionResponse addMyEntity(MyEntity e) throws SQLException{
...
}
...
}
在我的应用上下文中:
<tx:annotation-driven transaction-manager="txManager" />
好的,现在如果抛出 SQLException,我想在事务回滚后添加一个拦截器。我该怎么做?
提前致谢
编辑
我将尝试澄清我正在尝试做的事情:
我有一个 WS,它将一些信息保存在数据库中并返回响应(如果出现问题,则返回一个 isOk 布尔值和一个 errorMessage)
每当出现异常时,我需要:
- 回滚交易
- 使用错误消息构建响应并将其返回给客户端。
这就像 Spring 的事务代理的 try/catch
【问题讨论】:
-
我已经解决了向 WS 端点添加 try/catch 的问题。我忘记了在我的服务之上还有一层。端点不在事务中,所以我可以(现在我知道我必须)管理端点中的响应。不过我想知道是否有办法做我以前想做的事情。
-
你能说明你是如何定义你的附加方面的吗? (xml和java代码)
标签: spring interceptor transactionmanager