[Seasar-user:16207] Re: [S2JPA] PersistenceUnitInfoFactoryImplのDEFAULT_DATASOURCE

Akira Asakawa [E-MAIL ADDRESS DELETED]
2008年 11月 2日 (日) 01:17:12 JST


淺川です。

Koichi Kobayashi さんは書きました:
> 小林 (koichik) です.
>
> Date:    Sat, 01 Nov 2008 23:09:06 +0900
> From:    Akira Asakawa <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:16205] Re: [S2JPA] PersistenceUnitInfoFactoryImplのDEFAULT_DATASOURCE
>
>   
>> ただ、定義されているかわからない"jdbc/dataSource"を
>> 固定で返すのもどうかと思います(苦肉の策なのだとは思いますが)。
>>     
>
> 固定ではありません.
> [Seasar-user:16204] で書いたように,この値は
> PersistenceUnitInfoFactoryImpl の 
> defaultNonJtaDataSource プロパティで変更できますし,
> jdbc/dataSource が存在しないなら変更すべきです.
>
>   

「固定である」というのは、jpa-support.diconを
オーバーライドしない限り固定であるという意味です。
他に何か簡単に変更する方法はあるのでしょうか?

そういった特殊な対策をせずに、自然に使えた方がよいと思ったので。

>> それでも、TopLinkとS2JPAの組み合わせで起きる現象なので、
>> S2TopLink-JPAもしくはS2JPAで対応すべきだとも思うのですが、
>> いかがでしょうか?
>>     
>
> 仕様で明示されていないのに対応「すべき」とは
> 思いません.
> せめて WebSphere,WebLogic,Oracle AS,
> JBoss AS,Geronimo など,主要な AP サーバが
> 全て null を返しているというくらいの材料が
> あれば検討しますが.
>   

S2TopLink-JPA側での対応も含め、何らかの方法で
対策することも可能ではないか?という意味です。

nullを返す仕様にこだわってはいませんし、
実際にnullを返す解釈をしている実例を挙げただけです。
「nullを返してはならない」とも定義されていないですし。

対応される気はないとのことですので、
これ以上は不毛だと思いますが。

> TopLink が <non-jta-data-source> を参照するなら,
> <non-jta-data-source> を指定するのが唯一正しい
> 対応ではないでしょうか.
>   

おそらく最も正しい対応は、意味不明なデフォルトを返さずに、
GlassFishのように、JTA環境で<non-jta-data-source>を
要求された場合は<jta-data-source>のJTAに関連付いていない
ビューであるデータソースを返すことだと思います。



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