posts - 63,comments - 71,trackbacks - 0

          研究了老半天的
          public class PtabTranjnlNote extends HibernateDBMaintain implements AfterReturningAdvice{


           public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable {
            // TODO Auto-generated method stub

              System.out.println("======22222222===PtabTranjnlNote===afterReturning===Channel=["+tsmLogMap.get("Channel")+"]");
          }

          }

          確不知道 Channel 的值是怎么得到的,郁悶了個老半天啊


          在applicationContext.xml里面看到
          <!-- 如果有多個BizProcess的對象需要代理,我們在Spring配置中為每一個Bean都配置一個代理,那么配置文件的維護就成了麻煩。
                  解決多bean需要代理
                 為此,Spring提供了比較方便的方法解決這個問題,比如BeanNameAutoProxyCreator、
                 DefaultAdviceAutoProxyCreator和metadata autoproxying。
                 我們采用了BeanNameAutoProxyCreator,因為他比較直觀和簡單 --> 
              <bean id="operateAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
                     <property name="proxyTargetClass">
                         <value>true</value>
                     </property>
                  <property name="beanNames">
                     <list>
                       <!-- 交易日志bean *Manager -->
                        <value>*Manager</value>             
                     </list>
                  </property>
                  <property name="interceptorNames">
                   <list>
                     <!-- value>creditAdvice</value>
                     <value>financeAdvice</value -->
                     <value>midAdvice</value>
                     <value>acctAdvice</value>
                     <value>queryAdvice</value>
                     <value>transAdvice</value>
                   </list>
                  </property>
              </bean>

          的定義,然后找到

          <!-- 中間業務 -->
              <bean id="midAdvice" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">     
                   <property name="advice" ref="ptabTranjnlNote"/>
                   <property name="patterns">
                     <value>.*doMid.*</value>
                   </property>
              </bean>

          <!-- 中間業務 -->
              <bean id="midAdvice" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">     
                   <property name="advice" ref="ptabTranjnlNote"/>
                   <property name="patterns">
                     <value>.*doMid.*</value>
                   </property>
              </bean>

          同時也找到了 doMid*的方法,但是就是找不到在哪里傳了這個參數進去,

          睡了個懶覺,想了想 ,是不是原來攔截的方法的參數的參數就是afterReturning里面的參數呢
           
          找到了調用doMid方法的地方,傳了Channel 進去,還真是這么回事,成功了

          老啦 ,這么簡單問題研究了我3小時

          posted on 2007-05-10 14:14 還沒想好名 閱讀(1305) 評論(0)  編輯  收藏 所屬分類: 技術
          主站蜘蛛池模板: 九龙坡区| 上虞市| 绥宁县| 绵阳市| 连平县| 敦化市| 上林县| 临泽县| 繁昌县| 竹溪县| 高青县| 长丰县| 吴桥县| 河西区| 永胜县| 沈丘县| 化德县| 武定县| 乐东| 当雄县| 佛山市| 禹城市| 大石桥市| 定襄县| 临澧县| 津南区| 南陵县| 罗江县| 谢通门县| 盐源县| 通许县| 防城港市| 西青区| 尼勒克县| 松溪县| 太康县| 金山区| 胶州市| 郸城县| 广宗县| 五常市|