0

シングルトン インスタンスを作成する CXF の PolicyBasedWSS4JInInterceptor があります。

public static final PolicyBasedWSS4JInInterceptor INSTANCE 
    = new PolicyBasedWSS4JInInterceptor();

Spring のスキルがないため、cxf.xml ファイルで Spring の Bean 定義を使用して、acestor (AbstractWSS4JInterceptor) のプロパティ マップを設定する方法に苦労しています。基本的には、cxf.xml の「signaturePropFile」などの WSS 関連のプロパティを構成したいと考えています。

誰かが PolicyBasedWSS4JInInterceptor.INSTANCE のプロパティ マップを設定する方法を示すことができますか? ありがとう!

4

2 に答える 2

0

シングルトン Bean を宣言します。

<bean id="interceptor" class="whatever.your.package.PolicyBasedWSS4JInInterceptor" scope="singleton"/>

そして、必要な場所に注入します

<bean id="anotherBean" ...>
  <property name="interceptor" ref="interceptor"/>
</bean>

この他の Bean には、次のような通常の PolicyBasedWSS4JInInterceptor プロパティがあります。

private PolicyBasedWSS4JInInterceptor interceptor;

public PolicyBasedWSS4JInInterceptor getInterceptor() {
  return interceptor;
}

public void setPolicyBasedWSS4JInInterceptor(PolicyBasedWSS4JInInterceptor interceptor) {
  this.interceptor = interceptor;
}

そして、Spring 用語で表現された、静的であると宣言するのと同じ結果が得られます。どちらを好むかはあなた次第ですが、Spring の方法で IoC コンテナー内にインターセプターを配置し、必要に応じてインストルメント化できることを覚えておいてください。

于 2014-02-24T08:06:12.230 に答える