我会使用 JavaConfig 来做到这一点。
更具体地说,我将使用 JavaConfig 创建多个实例MyWebServiceClient
,并@Value
使用正确的端点属性键来配置配置。
像这样的东西:
@Configuration
public class MyWebServiceConfig {
@Required
@Value("${myWebserviceClient1.endpointUrl")
private String webservice1Url;
@Required
@Value("${myWebserviceClient2.endpointUrl")
private String webservice2Url;
@Required
@Value("${myWebserviceClient3.endpointUrl")
private String webservice3Url;
@Bean
public MyWebServiceClient webserviceClient1() {
MyWebServiceClient client = createWebServiceClient();
client.setEndpointUrl(webservice1Url);
return client;
}
@Bean
public MyWebServiceClient webserviceClient2() {
MyWebServiceClient client = createWebServiceClient();
client.setEndpointUrl(webservice2Url);
return client;
}
@Bean
public MyWebServiceClient webserviceClient3() {
MyWebServiceClient client = createWebServiceClient();
client.setEndpointUrl(webservice3Url);
return client;
}
}
有了这个,你应该有 3 个实例,MyWebServiceClient
你ApplicationContext
可以通过用 注释的方法的名称获得@Bean
。
为方便起见,这里有更多JavaConfig 文档。