2012-03-29 14 views
3

私は「インターセプタで」でインジェクトCXF JAXRSのMessageContext

@Context 
org.apache.cxf.jaxrs.ext.MessageContext.MessageContext messageContext; 

を次のようにREADとしてフェーズとインターセプタでのMessageContextを注入しようとしています。しかし、これは初期化され、ヌルのまま取得されていません。 Interceptorにorg.apache.cxf.jaxrs.ext.MessageContext.MessageContextを挿入することは可能ですか?あなたはCXF設定ファイルに<aop:scoped-proxy/>を追加する必要があるかもしれません

おかげ

答えて

2

<jaxrs:server id="example" address="/"> 
    <jaxrs:serviceBeans> 
     <bean class="org.apache.cxf.systest.jaxrs.CustomerService"> 
       <aop:scoped-proxy /> 
     </bean> 
    </jaxrs:serviceBeans> 
</jaxrs:server> 

はまた、あなたは、これはあなたのサービス・クラスでなければなりません(あなたのMessageContextのためのセッターメソッドを作成する必要が - ここでそれ"org.apache.cxf.systest.jaxrs.CustomerService")である:

private MessageContext messageContext; 

@Context 
public void setMessageContext(MessageContext messageContext) { 
    this.messageContext = messageContext; 
} 

では、このマニュアルのリンクも考えてみましょう:
http://cxf.apache.org/docs/jaxrs-services-configuration.html#JAXRSServicesConfiguration-FromSpring

+0

私は ' 'プロパティを追加する必要はありませんでした。 MessageContextセッターのみ。 – mvermand

関連する問題