zoukankan      html  css  js  c++  java
  • CXF interceptor拦截顺序

    Java代码  收藏代码
    1. org.apache.cxf.phase.PhaseManagerImpl中  
    2. final void createInPhases() {  
    3.         int i = 0;  
    4.   
    5.         inPhases = new SortedArraySet<Phase>();  
    6.         inPhases.add(new Phase(Phase.RECEIVE, ++i * 1000));  
    7.         inPhases.add(new Phase(Phase.PRE_STREAM, ++i * 1000));  
    8.         inPhases.add(new Phase(Phase.USER_STREAM, ++i * 1000));  
    9.         inPhases.add(new Phase(Phase.POST_STREAM, ++i * 1000));  
    10.         inPhases.add(new Phase(Phase.READ, ++i * 1000));  
    11.         inPhases.add(new Phase(Phase.PRE_PROTOCOL, ++i * 1000));  
    12.         inPhases.add(new Phase(Phase.USER_PROTOCOL, ++i * 1000));  
    13.         inPhases.add(new Phase(Phase.POST_PROTOCOL, ++i * 1000));  
    14.         inPhases.add(new Phase(Phase.UNMARSHAL, ++i * 1000));  
    15.         inPhases.add(new Phase(Phase.PRE_LOGICAL, ++i * 1000));  
    16.         inPhases.add(new Phase(Phase.USER_LOGICAL, ++i * 1000));  
    17.         inPhases.add(new Phase(Phase.POST_LOGICAL, ++i * 1000));  
    18.         inPhases.add(new Phase(Phase.PRE_INVOKE, ++i * 1000));  
    19.         inPhases.add(new Phase(Phase.INVOKE, ++i * 1000));  
    20.         inPhases.add(new Phase(Phase.POST_INVOKE, ++i * 1000));  
    21.     }  
    22.   
    23.     final void createOutPhases() {  
    24.   
    25.         outPhases = new SortedArraySet<Phase>();  
    26.         int i = 0;  
    27.   
    28.         outPhases.add(new Phase(Phase.SETUP, ++i * 1000));  
    29.         outPhases.add(new Phase(Phase.PRE_LOGICAL, ++i * 1000));  
    30.         outPhases.add(new Phase(Phase.USER_LOGICAL, ++i * 1000));  
    31.         outPhases.add(new Phase(Phase.POST_LOGICAL, ++i * 1000));  
    32.         outPhases.add(new Phase(Phase.PREPARE_SEND, ++i * 1000));  
    33.   
    34.         outPhases.add(new Phase(Phase.PRE_STREAM, ++i * 1000));  
    35.   
    36.         outPhases.add(new Phase(Phase.PRE_PROTOCOL, ++i * 1000));  
    37.   
    38.         outPhases.add(new Phase(Phase.WRITE, ++i * 1000));  
    39.         outPhases.add(new Phase(Phase.PRE_MARSHAL, ++i * 1000));  
    40.         outPhases.add(new Phase(Phase.MARSHAL, ++i * 1000));  
    41.         outPhases.add(new Phase(Phase.POST_MARSHAL, ++i * 1000));  
    42.   
    43.         outPhases.add(new Phase(Phase.USER_PROTOCOL, ++i * 1000));  
    44.         outPhases.add(new Phase(Phase.POST_PROTOCOL, ++i * 1000));  
    45.   
    46.         outPhases.add(new Phase(Phase.USER_STREAM, ++i * 1000));  
    47.         outPhases.add(new Phase(Phase.POST_STREAM, ++i * 1000));  
    48.   
    49.         outPhases.add(new Phase(Phase.SEND, ++i * 1000));  
    50.   
    51.         //Make sure ending interceptors are put in positions symmetric  
    52.         // to their starting interceptors  
    53.         outPhases.add(new Phase(Phase.SEND_ENDING, ++i * 1000));  
    54.           
    55.         outPhases.add(new Phase(Phase.POST_STREAM_ENDING, ++i * 1000));  
    56.         outPhases.add(new Phase(Phase.USER_STREAM_ENDING, ++i * 1000));  
    57.   
    58.         outPhases.add(new Phase(Phase.POST_PROTOCOL_ENDING, ++i * 1000));  
    59.         outPhases.add(new Phase(Phase.USER_PROTOCOL_ENDING, ++i * 1000));  
    60.   
    61.         outPhases.add(new Phase(Phase.MARSHAL_ENDING, ++i * 1000));  
    62.         outPhases.add(new Phase(Phase.WRITE_ENDING, ++i * 1000));  
    63.   
    64.         outPhases.add(new Phase(Phase.PRE_PROTOCOL_ENDING, ++i * 1000));  
    65.           
    66.         outPhases.add(new Phase(Phase.PRE_STREAM_ENDING, ++i * 1000));  
    67.   
    68.         outPhases.add(new Phase(Phase.PREPARE_SEND_ENDING, ++i * 1000));  
    69.         outPhases.add(new Phase(Phase.POST_LOGICAL_ENDING, ++i * 1000));  
    70.         outPhases.add(new Phase(Phase.USER_LOGICAL_ENDING, ++i * 1000));  
    71.         outPhases.add(new Phase(Phase.PRE_LOGICAL_ENDING, ++i * 1000));  
    72.         outPhases.add(new Phase(Phase.SETUP_ENDING, ++i * 1000));  
    73.   
    74.     }  

    另外,如果级别一样,则按照配置的先后顺序进行拦截。顺序是<javaxws:interceptors></javaxws:interceptors>标签内出现的顺序。

  • 相关阅读:
    Pod中spec的字段常用字段及含义
    day62-无名有名分组反向解析,路由分发,视图层等
    day61-数据增删改查,orm表关系,django请求生命周期流程图
    day60-静态文件,数据库,ORM
    day59-简易版本的web框架,django框架初识
    day58-jquery后续,前端BootSrtap,图书管理系统搭建
    day57-jQuery练习与操作,各种事件
    day56-js,jquery
    day55-js
    day54-js类型与对象
  • 原文地址:https://www.cnblogs.com/qiumingcheng/p/4807020.html
Copyright © 2011-2022 走看看