Spring 如何使用带有注释的事务顾问?
我有以下例子:Spring 如何使用带有注释的事务顾问?,spring,interceptor,transactionmanager,Spring,Interceptor,Transactionmanager,我有以下例子: @Transactional(propagation=Propagation.SUPPORTS, readOnly=true) public class MyServiceImpl implements MyService { ... @Transactional(propagation=Propagation.REQUIRED, readOnly=false) public TransactionResponse addMyEntity(MyEnti
@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,它在DB上保存一些信息并返回一个响应(一个isOk布尔值和一个错误消息,如果出现问题)
每当出现异常时,我需要:
- 回滚事务
- 生成带有错误消息的响应,并将其返回给客户端
它就像一个try/catch-around-spring的事务代理使用
tx:annotation-driven
的order
属性和您将要使用的拦截器属性。因此,您可以指定哪一个在另一个之前运行。参见章节谢谢@Bozho,但我不明白如何定义连接点来完成我需要做的事情。请阅读编辑更新我已经解决了向WS端点添加try/catch的问题。我忘了在我的服务之上还有一层。端点不在事务中,因此我可以(现在我知道我必须)管理端点中的响应。尽管如此,我还是想知道是否有一种方法可以实现我之前尝试的目标。你能展示一下你是如何定义你的附加方面的吗?(xml和java代码)请参见此链接中的