2

この問題は数回議論されていますが、私たちの問題を解決する解決策を見つけることができませんでした. データベースからリモート 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を置き換える方法は?
サービスは Web 対応ではないため、Session または Request スコープを使用できません。
どんな助けでも大歓迎です。

敬具、マイケル

4

1 に答える 1

0

DBServicehttp リクエストに基づいて正しいものを取得する方法は完全には明らかではありません。そのため、その方法を知っていると思います。したがって、次のことができます。

  1. 正しいものを取得しDBServiceて TLS に配置するフィルターを作成します。
  2. DBServiceonExampleHttpInvokerDBServiceWrapper(あなたのクラス)に置き換えて、DBServiceTLS から正しいものを取得し、適切なメソッドを呼び出します。
  3. リクエストが完了したら、フィルターの TLS をクリアすることを忘れないでください。
于 2012-04-17T06:44:12.667 に答える