[Seasar-user:20315] Re: WAS6TransactionManagerAdapterの問題

鵜澤 陽介 [E-MAIL ADDRESS DELETED]
2010年 11月 5日 (金) 17:22:25 JST


小林様

早速の対応ありがとうございます。鵜澤(uzawa)です。

 実際に動作の確認にはいたっていませんが、ソースの方で
 確認させていただきました。
 (※動作に関しては週明けに確認します。)

> しかし RemoteException には cause を受け取る
> コンストラクタがあるのに、
> TransactionRolledbackException にはないという。。。
> そんな罠があるならコンストラクタを用意して
> ほしかったよ>JTA

 同感です。
 フィールドのスコープをpublicにして、しかも読み込むときは
 getCause()を使えって。。。

 Throwableのcauseを使わずにチェーンをRemoteExceptionまでで
 切るっていうのもなんだか。。。変なの。

以上です。


(2010/11/05 17:00), Koichi Kobayashi wrote:
> 小林 (koichik) です.
> 
> Date: Fri, 05 Nov 2010 15:31:55 +0900
> From: 鵜澤 陽介<[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:20311] WAS6TransactionManagerAdapterの問題
> 
>>       throw new TransactionRolledbackException(e.getMessage())
>>           .initCause(e);
>>
>> しかしながら、TransactionRolledbackExceptionは親のコンストラクタで
>> 自身の持つcause:Throwableを初期化しているため、initCause(e)を
>> 呼び出すと、IllegalStateExceptionが発生してしまいます。
> 
> なるほど、TransactionRolledbackException は
> RemoteException で、RemoteException は
> 
> ------------------------------------------------------------
> RemoteException のインスタンス上で Throwable.initCause(Throwable)
> メソッドを呼び出した場合、常に IllegalStateException がスローされます。
> ------------------------------------------------------------
> 
> なのですね。勉強になりました。
> しかし RemoteException には cause を受け取る
> コンストラクタがあるのに、
> TransactionRolledbackException にはないという。。。
> そんな罠があるならコンストラクタを用意して
> ほしかったよ>JTA
> 
> ともあれ (JW)、修正して SNAPSHOT をデプロイ
> したのでご確認ください。
> 
> http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.44-SNAPSHOT/s2-framework-2.4.44-20101105.073249-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.44-SNAPSHOT/s2-framework-2.4.44-20101105.073249-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-tiger/2.4.44-SNAPSHOT/s2-tiger-2.4.44-20101105.073839-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2jdbc-gen/2.4.44-SNAPSHOT/s2jdbc-gen-2.4.44-20101105.074851-1.jar
> 
> 


Seasar-user メーリングリストの案内