2017-07-12 3 views
-1

私はwebsphereのoracle xadatasourceを既にセットアップしています。私はSpringのコンテキストルックアップjndiを使用してデータソースを取得したいと思います。私のアプリを起動すると例外が発生します:WasjdbcDataSourceはjavax.sql.XADataSourceと互換性がありません。 どうすればこの問題を解決できますか?websphere wasjdbcDataSource to XADataSource

+0

私はWasjdbcDataSourceを知りませんが、あなたから疑問に思うのですが、それはjavax.sql.XADataSourceを実装していません。 XA準拠のWasjdbcDataSourceが見つからない場合は、https://www.atomikos.com/Documentation/NonXaDataSourceを使用できます。 –

+0

@ PascalLeclercqありがとう –

答えて

1

WebSphere Application ServerなどのJava EEアプリケーション・サーバーでは、XA対応のjavax.sql.XADataSourceを構成しても、アプリケーション(およびSpring)は常にjavax.sql.DataSourceとして使用する必要があります。 javax.sql.XADataSourceではなくjavax.sql.DataSourceの予想される型を示す方法があるかどうかをSpringの設定で調べます。 XADataSource APIは、2フェーズ・コミットを達成するために、アプリケーション・サーバー自身の内部使用のみを目的としています。ユーザーは常にjavax.sql.DataSourceとしてそれと対話し、単一のグローバル・トランザクション内に複数のリソースを登録する機能を獲得します。

+0

私はjava.sql.datasourceとしてjndiを見て、それをXAdatasourceに変換しなければならないということを意味します。右? –

+0

XADataSourceに変換/キャストしないでください。 javax.sql.XADataSourceとしてそれを参照する唯一の場所は、データ・ソースのWebSphere Application Server定義(従来のWebSphereの場合はJDBCProvider、Libertyの場合はdataSource/jdbcDriver config)内にあります。他のすべて - Spring、JNDIルックアップ、リソース参照...は常にjavax.sql.DataSourceとして参照して使用する必要があります。 – njr

+0

このおかげで.iはそれを試してみる –