xmlで定義されたリモートWebサービス用に次のSpringBeanがあります。
<bean id="authWSTemplate" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean" abstract="true">
<property name="serviceInterface" value="com.example.webservices.Authentication" />
<property name="wsdlDocumentUrl" value="${ws.root}/authentication?wsdl" />
<property name="namespaceUri" value="http://security.webservices.example.com/" />
<property name="serviceName" value="AuthenticationWebService" />
<property name="portName" value="AuthenticationPort" />
<property name="maintainSession" value="true" />
</bean>
このBeanテンプレートを取得して、具象Beanを作成するにはどうすればよいですか(つまり、ルートプロパティを指定します)?次に、コンクリート豆をSpringコンテナに入れることはできますか?
さまざまなシステムを指す多数の具象Beanが必要なので、ルート値も異なります。この例では、ルートを持つ2つのシステムがあるとします:http://domain1.com: 8001/ wsとhttp://domain2.com:8002/ws。
したがって、「authWSdom1」と「authWSdom2」という2つのBeanが必要です。
これをアプリケーション初期化ブロックでプログラム的に実行することを期待しています。ここでは、すべての既知のシステム実装のリストを取得し(この情報は実行時にのみ認識されます)、各implのBeanを作成し、Bean名をキャッシュしてから、私のアプリケーションは、必要に応じてSpringコンテナから適切なBeanを取得します。
または、これのためのより良いパターンはありますか?おそらく、Beanのコンストラクターでルート値を提供することによってですか?
複数のエンドポイント間での同時アクセスをサポートする必要があるため(つまり、複数のユーザーが同時にdomain1とdomain2にアクセスする)、Springで単一のBeanを使用することはできないと考えています。