繁体   English   中英

我们可以在同一阶段有多个 CXF 拦截器吗

[英]Can we have multiple CXF interceptors in same phase

我创建了一个拦截器,它将为 UNMARSHAL 阶段的 MultiPart 请求执行其特定逻辑,对于这个阶段,我不想在其中编写我的逻辑的完全不同的 CXF 拦截器。

我的问题是我们可以为同一阶段创建多个 CXF 拦截器吗? 如果是,那么调用它们的顺序是什么,如下所示

例如。

public class Interceptor1 extends AbstractPhaseInterceptor<Message> {

        public Interceptor1 () {
        super(Phase.UNMARSHAL);
        }
       @Override
      public void handleMessage(Message message) throws Fault {
          System.out.println("Interceptor1");
      }

}

public class Interceptor2 extends AbstractPhaseInterceptor<Message> {

        public Interceptor2 () {
        super(Phase.UNMARSHAL);
        }
         @Override
      public void handleMessage(Message message) throws Fault {
          System.out.println("Interceptor2");
      }

}

每个阶段可以包含任意数量的拦截器,当在一个阶段中发现多个拦截器时,它们将按照添加的顺序执行

 <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl">
        <property name="inInterceptors">
            <ref bean="MyInterceptor"/>
            <ref bean="OtherInterceptor"/>
        </property>
        <property name="outInterceptors">
            <ref bean="MyInterceptor"/>
        </property>
    </bean> 

MyInterceptor(1) -> OtherInterceptor(2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM