gpt4 book ai didi

java - Spring HttpInvoker : how to replace serviceUrl at runtime?

转载 作者:行者123 更新时间:2023-11-29 09:14:45 29 4
gpt4 key购买 nike

这个问题被讨论过几次,但我没能找到解决我们问题的方法。 我们有以下从数据库获取远程 URL 的 HttpInvoker 服务:

@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?
我们不能使用 Session 或 Request 范围,因为该服务不支持 Web。
任何帮助将不胜感激。

最好的问候,迈克尔

最佳答案

我不太清楚如何根据您的 http 请求获得正确的 DBService,所以我想您知道该怎么做。因此,您可以执行以下操作:

  1. 编写一个过滤器来获取正确的 DBService 并将其放在 TLS 上。
  2. ExampleHttpInvoker 上的 DBService 替换为 DBServiceWrapper(您的类),从 TLS 获取正确的 DBService 并且调用正确的方法。
  3. 请求完成后,不要忘记清除过滤器中的 TLS。

关于java - Spring HttpInvoker : how to replace serviceUrl at runtime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10185051/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com