这个问题经过多次讨论,但我无法找到解决问题的解决方案。 我们有以下HttpInvoker服务,它从数据库获取远程URL:
@Service("exampleService")
public class ExampleHttpInvoker extends HttpInvokerProxyFactoryBean {
@Resource
private DBService service;
@PostConstruct
public void init() throws ConfigurationException {
String url = service.getURL();
this.setServiceUrl(url);
this.setServiceInterface(RemoteInterface.class);
this.setHttpInvokerRequestExecutor(new CommonsHttpInvokerRequestExecutor());
afterPropertiesSet();
}
}
可以在远程呼叫之间更改URL 如何在运行时替换serviceUrl? 我们不能使用会话或请求范围,因为该服务不是Web感知的 任何帮助将不胜感激。
祝你好运, 迈克尔
答案 0 :(得分:0)
我不完全清楚如何根据您的http请求获取正确的DBService
,所以我想您知道如何做到这一点。所以你可以做到以下几点:
DBService
并将其置于TLS上。DBService
上的ExampleHttpInvoker
替换为DBServiceWrapper
(您的班级)从TLS获取正确的DBService
并调用正确的方法。