[Seasar-user:16208] Re: [S2JPA] PersistenceUnitInfoFactoryImplのDEFAULT_DATASOURCE
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 11月 2日 (日) 02:00:24 JST
小林 (koichik) です.
Date: Sun, 02 Nov 2008 01:17:12 +0900
From: Akira Asakawa <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16207] Re: [S2JPA] PersistenceUnitInfoFactoryImplのDEFAULT_DATASOURCE
> > 固定ではありません.
> > [Seasar-user:16204] で書いたように,この値は
> > PersistenceUnitInfoFactoryImpl の
> > defaultNonJtaDataSource プロパティで変更できますし,
> > jdbc/dataSource が存在しないなら変更すべきです.
>
> 「固定である」というのは、jpa-support.diconを
> オーバーライドしない限り固定であるという意味です。
可変になっているのを変更しない限り固定というのは
詭弁ではないでしょうか.
わざわざ jpa-support.dicon を用意しているのは,
それを configurable にするためなのですから.
> > 仕様で明示されていないのに対応「すべき」とは
> > 思いません.
>
> S2TopLink-JPA側での対応も含め、何らかの方法で
> 対策することも可能ではないか?という意味です。
もちろん可能ですが,「すべき」とは思いません.
> 対応される気はないとのことですので、
> これ以上は不毛だと思いますが。
対応する気がないとは一言も書いていません.
対応「すべき」という根拠が見あたらないことを
書いています.
対応「すべき」根拠があるなら対応しますし,
そうでなくても対応してほしいと要望されれば
検討しますが,今のところ要望されているとは
感じていません.
[Seasar-user:16203] では「nullを返すべき」
[Seasar-user:16205] では「S2TopLink-JPAもしくは
S2JPAで対応すべき」ということなので,その根拠を
求めています.
> > TopLink が <non-jta-data-source> を参照するなら,
> > <non-jta-data-source> を指定するのが唯一正しい
> > 対応ではないでしょうか.
>
> おそらく最も正しい対応は、意味不明なデフォルトを返さずに、
> GlassFishのように、JTA環境で<non-jta-data-source>を
> 要求された場合は<jta-data-source>のJTAに関連付いていない
> ビューであるデータソースを返すことだと思います。
GlassFish 固有の実装が JPA 仕様に照らし合わせて
「最も正しい」という根拠はあるのでしょうか?
私には見つけることができないのですが.
意味不明なデフォルトを返すのは JPA 仕様の
7.1.4 javax.persistence.spi.PersistenceUnitInfo Interface
の記述 (Javadoc)
The data source corresponds to the named <non-jta-data-source>
element in the persistence.xml file or provided at deployment
or by the container.
の範疇に含まれます.
もちろん GlassFish の実装もこの範囲に含まれますが,
コンテナがどのようなデータソースを提供すべきかは
一言も記述がない以上,それが「最も正しい」と解釈
することは,私には不可能です.
仕様に幅がある以上,その範囲内でどうするのが
より正しいとは言えないでしょう.
であるなら,仕様のグレーゾーンに抵触しないように
<jta-data-source> と <non-jta-data-source> の両方を
指定するのが利用者としての唯一正しい対応なのでは
ありませんか?
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内