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

标签 java cxf interceptor

我创建了一个拦截器,它将为 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) -> 其他拦截器(2)

关于java - 我们可以在同一阶段拥有多个 CXF 拦截器吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40106775/

相关文章:

java - 获取响应代码时文件描述符泄漏。 (cxf, ssl)

java - 来自使用 Apache CXF 的 Web 服务的响应显示 "No binding operation info.."

java - 如何@Autowire隐藏在ProxyFactoryBean后面的bean?

java - HotSpot 堆栈防护页。红色/黄色区域及其背后的原因

java - 如何获取表中包含一个或多个变量的行

java - 如何循环直到得到正确答案?

java - CXF WebService 的 Spring 配置得到 java.lang.NoClassDefFoundError : javax/xml/ws/EndpointReference

angular - 拦截器 Angular 4.3 - 在克隆请求上设置多个 header

java - 在Spring MVC中设置拦截器

java - 为什么不能使用父引用访问子字段