2010-11-26 8 views
1

私は与えられた接続トークンの有効性を確認しますこれ、私のBeanのインターセプタを使用したいです。EJB3のインターセプタの例外を処理する適切な方法は何ですか?

接続が無効である場合、接続が期限切れになった場合、私は別の(TokenExpiredException、このような何かを)送りたい、特定の例外をスローします。これらの例外は、クライアントに与えられたインタフェースに含まれています。インターセプタで、このような特定の例外を投げる私が試したものから

@AroundInvoke 
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{ 
    //code to check token 
    //... 
    throw new TokenExpiredException(); 
} 

は、クライアント側でUndeclaredThrowableExceptionにつながります。この例外には原因の参照が含まれていますが、実際には理想的ではなく、定期的なcatch節では対処できません。

その後、インターセプタと異なる例外の型を宣言するための正しい方法は何ですか?

答えて

1

私はそれを行うための正しい方法はないと思います。メソッドは宣言した例外だけをスローし、インターセプタは新しいものを追加すべきではありません。

私の個人的なケースは、すべてのメソッドによってスローされた私たちのデフォルトの例外にエラーコードを追加することにより、固定しまいました。

関連する問題