次の例があるとします。
@Transactional(propagation=Propagation.SUPPORTS, readOnly=true)
public class MyServiceImpl implements MyService {
...
@Transactional(propagation=Propagation.REQUIRED, readOnly=false)
public TransactionResponse addMyEntity(MyEntity e) throws SQLException{
...
}
...
}
そして、私のapplicationContextで:
<tx:annotation-driven transaction-manager="txManager" />
さて、SQLException がスローされた場合、トランザクションのロールバック後にインターセプターを追加したいと思います。これどうやってするの?
前もって感謝します
編集
私がやろうとしていることを明確にしようとします:
DB にいくつかの情報を保持し、応答を返す WS があります (問題が発生した場合は isOk ブール値と errorMessage )。
例外が発生するたびに、次のことを行う必要があります。
- トランザクションをロールバックする
- エラー メッセージを含む応答を作成し、それをクライアントに返します。
これは、Spring のトランザクション プロキシに関する try/catch のようなものです。