[Seasar-user:9894] Re: [DbFlute]entity にidentityの値が設定されない

kubo [E-MAIL ADDRESS DELETED]
2007年 8月 14日 (火) 15:37:42 JST


久保です。

> > 多加谷@アークシステムです。
> > 
> >  <property name="allowLocalTx">false</property>にすると、
> > 
> > Throwable:org.seasar.framework.exception.SIllegalStateException:
> > [ESSR0311]トランザクションが開始されていません
> > 
> > というエラーが出ます。設定がおかしいのでしょうか?
> 
> おかしいみたいですね。
> j2ee-rk.diconの中身がわかりませんが、
> たぶん、TransactionManagerImplが複数存在していると
> 思われます。

自分も全く同じ問題を抱えたことがあります。

 <component name="transactionManager"
  class="org.seasar.extension.jta.TransactionManagerImpl"/>

そのときは、2箇所に存在してしまっていました。
片方を削除して、全てのDAOが一つのtransactionManagerを
参照することによって、トランザクションが聞くようになりました。

見させて頂いた[j2ee.dicon]に定義されていますので、
全てのDBにおいて、同じ[j2ee.dicon]をincludeしないといけないと思います。



それとは別に、本当にトランザクションが発行されていないために
現象が発生しているのかどうかの切り分けを先にやられておいた方が
良いかと思います。
簡単なプログラムでトランザクション無しで「select @@identity」やると
どうなるか試してみてください。






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