2

Webサービスを作成しています。アプリケーション層と Web 層があります。この層は両方とも、jaxb を使用して xsd からオブジェクト ファクトリを生成します。生成クラスはパッケージ内にあります: my.package.v1

現在、これらのプロジェクトに依存する別のプロジェクトがあります。コンテキストでは、オブジェクト ファクトリを指定しました。

<bean id="objectFactory" class="my.package.v1.ObjectFactory" />

アプリケーションをコンパイルしてデプロイすると、すべて問題ありません。しかし、2 つのオブジェクト ファクトリがあり、そのうちの 1 つしか使用できません。どのアプリケーションを使用し、どのように変更して別のアプリケーションを使用するのですか?

アップデート:

使用するクラスを春のコンテキストで設定する方法のオプションはありますか? ObjectFactory が 2 つある場合に、これを変更して適切なクラスを設定したい

<bean id="objectFactory" class="my.package.v1.ObjectFactory" /> 
4

2 に答える 2

0

結果が競合する可能性があり、Contextual クラスローダに依存します。名前空間の競合を避けるために、それらを別々のパッケージに入れることをお勧めします

于 2012-09-07T07:46:44.307 に答える
0

my.package.v1.ObjectFactory の 2 つの実装のどちらが実際に使用されるかは、ClassLoader によって異なります。

ClassLoaders がこの種の問題を解決する方法については、この質問を参照してください。

于 2012-09-07T07:39:20.783 に答える