[seasar-dotnet:745] Re: トランザクションを直接記述するにはどうすればいいのでしょうか

Kazuya Sugimoto [E-MAIL ADDRESS DELETED]
2008年 1月 28日 (月) 22:05:37 JST


杉本です。

koichiさん、こんばんは。
1週間も足ってしまい申し訳ないです。

トランザクションの処理ですが、TransactionInterceptorから呼び出される例えば、
Seasar.Extension.Tx.Impl.LocalRequiredTxHandlerの実装を参考にしてみてください。

このクラスの39行目から53行目あたりで、BeginとかCommit, Rollbackをしています
ので参考になると思います。


08/01/22 に koichi さんは書きました:
> koichiです。
>
> お世話になっております。
>
> S2.NETでトランザクションを直接操作するにはどうすればよいのか教えてください。
>
>
> Java版では、TransactionManagerというコンポーネントを取得すると、
> コードで直接begin() commit()等が指定できたので、
> .NETで同様のことが行いたいと考えています。
>
> 試しに、
> SingletonS2ContainerFactory.Container.GetComponent(typeof(Seasar.Extension.Tx.ITransactionContext));
> のようにTransactionContextを取得し、Begin()
> Commit()等をよんでやったりしていたのですが、、
>
> この処理後、しばらくすると
> 「Connection Stringは初期化されていません」というエラーがでるようになります。
>
> DAOやDAOを利用するメソッドにアスペクトしたトランザクションにのみ頼る場合は
> 長時間たってもこのエラーは発生しないため、どうもこのやりかたが怪しいなぁと思っています。
> TransactionContextではなく、別のコンポーネントを利用しなければいけないのでしょうか?
>
> よろしくお願いいたします。
>
>
>
> ________________________________
> 「ペットの悩み、みんなにきいたら解決した。」安心のペットライフにMSN相談箱
> http://questionbox.msn.co.jp/c531.html
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>


-- 
Kazuya Sugimoto
Microsoft MVP Visual Developer - Solutions Architect
http://d.hatena.ne.jp/sugimotokazuya/


seasar-dotnet メーリングリストの案内