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代码)请参见此链接中的