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 的值是怎么得到的,郁悶了個(gè)老半天啊


          在applicationContext.xml里面看到
          <!-- 如果有多個(gè)BizProcess的對象需要代理,我們在Spring配置中為每一個(gè)Bean都配置一個(gè)代理,那么配置文件的維護(hù)就成了麻煩。
                  解決多bean需要代理
                 為此,Spring提供了比較方便的方法解決這個(gè)問題,比如BeanNameAutoProxyCreator、
                 DefaultAdviceAutoProxyCreator和metadata autoproxying。
                 我們采用了BeanNameAutoProxyCreator,因?yàn)樗容^直觀和簡單 --> 
              <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>

          的定義,然后找到

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

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

          同時(shí)也找到了 doMid*的方法,但是就是找不到在哪里傳了這個(gè)參數(shù)進(jìn)去,

          睡了個(gè)懶覺,想了想 ,是不是原來攔截的方法的參數(shù)的參數(shù)就是afterReturning里面的參數(shù)呢
           
          找到了調(diào)用doMid方法的地方,傳了Channel 進(jìn)去,還真是這么回事,成功了

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

          posted on 2007-05-10 14:14 還沒想好名 閱讀(1308) 評論(0)  編輯  收藏 所屬分類: 技術(shù)
          主站蜘蛛池模板: 麻江县| 桂东县| 安宁市| 沙湾县| 镇康县| 镇远县| 黔东| 锡林浩特市| 屯门区| 安徽省| 金堂县| 新邵县| 商河县| 南京市| 凤台县| 红桥区| 巍山| 邻水| 洞头县| 临武县| 安新县| 红桥区| 上思县| 同江市| 白朗县| 星子县| 南木林县| 莱州市| 行唐县| 胶州市| 尼木县| 丰台区| 铜鼓县| 廉江市| 牟定县| 定日县| 西吉县| 白银市| 晋州市| 化隆| 永宁县|