??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲自拍偷拍第一页,欧美麻豆精品久久久久久,不卡的av在线http://www.aygfsteel.com/fuhoujun/category/35046.htmlzh-cnMon, 03 Jul 2017 10:33:25 GMTMon, 03 Jul 2017 10:33:25 GMT60开源JEE框架 (Bootstrap javascript spring boot)http://www.aygfsteel.com/fuhoujun/archive/2016/06/13/430865.htmlLoy FuLoy FuMon, 13 Jun 2016 02:00:00 GMThttp://www.aygfsteel.com/fuhoujun/archive/2016/06/13/430865.htmlhttp://www.aygfsteel.com/fuhoujun/comments/430865.htmlhttp://www.aygfsteel.com/fuhoujun/archive/2016/06/13/430865.html#Feedback0http://www.aygfsteel.com/fuhoujun/comments/commentRss/430865.htmlhttp://www.aygfsteel.com/fuhoujun/services/trackbacks/430865.html* 后端采用Spring bootQ它使我们更Ҏ(gu)d建基于Spring的独立和产品U的可以xq行的应用和服务。直接嵌入Tomcat 或Jetty服务器,不需要部|WAR 文gQ可直接q行jar文g?
* pȝ权限框架采用ShiroQ实现前后台权限校验 * 持久层采用JPA Qƈ实现cibatis的查询功能;数据响应该采用json格式?
* 服务采用REST形式Q能够方便的与手机appq行Ҏ(gu)Q集成swagger能够在线查看RESTAPI 文档和在U测试服务接?
* 支持单点dQ可以多pȝq行菜单集成QŞ成一个portal
* 支持高ƈ发和水^扩展Q支持Session的统一存储
* 目采用gradle构徏Q能够方便的各目q行按需l装  阅读全文

Loy Fu 2016-06-13 10:00 发表评论
]]>
java NIOhttp://www.aygfsteel.com/fuhoujun/archive/2008/10/21/235733.htmlLoy FuLoy FuTue, 21 Oct 2008 09:44:00 GMThttp://www.aygfsteel.com/fuhoujun/archive/2008/10/21/235733.htmlhttp://www.aygfsteel.com/fuhoujun/comments/235733.htmlhttp://www.aygfsteel.com/fuhoujun/archive/2008/10/21/235733.html#Feedback0http://www.aygfsteel.com/fuhoujun/comments/commentRss/235733.htmlhttp://www.aygfsteel.com/fuhoujun/services/trackbacks/235733.html阅读全文

Loy Fu 2008-10-21 17:44 发表评论
]]>
L实现Apache,Tomcat集群和负载均?/title><link>http://www.aygfsteel.com/fuhoujun/archive/2008/10/20/235373.html</link><dc:creator>Loy Fu</dc:creator><author>Loy Fu</author><pubDate>Mon, 20 Oct 2008 00:49:00 GMT</pubDate><guid>http://www.aygfsteel.com/fuhoujun/archive/2008/10/20/235373.html</guid><wfw:comment>http://www.aygfsteel.com/fuhoujun/comments/235373.html</wfw:comment><comments>http://www.aygfsteel.com/fuhoujun/archive/2008/10/20/235373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/fuhoujun/comments/commentRss/235373.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/fuhoujun/services/trackbacks/235373.html</trackback:ping><description><![CDATA[ 作?|代?ldj_work#126.com,转蝲请保持完整?br /> 环境说明 <p>       Apache  :apache_2.0.55     1 ?/p> <p>       Tomcat:  apache-tomcat-5.5.17 (zip? 2?/p> <p>       mod_jk:: mod_jk-apache-2.0.55.so  1?/p> <p><strong>W一部分Q负载均?/strong></p> <p>    负蝲均衡Q就是apache客戯求均衡的分给tomcat1,tomcat2....d?/p> <p><strong>   1.安装apche,tomcat</strong></p> <p>   <a >http://httpd.apache.org/</a> 下蝲Apache 2.0.55</p> <p>    <a >http://tomcat.apache.org/download-55.cgi</a> 下蝲tomcat5.5 zip版本Q解压即可,l色版)</p> <p>   <a >http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/</a>  下蝲mod_jk,注意?nbsp; apache版本匚w</p> <p>   按照jdk,我的路径?E:\ide\apache\Apache2</p> <p>   解压两䆾Tomcat, 路径分别?E:\ide\tomcat1,E:\ide\tomcat2</p> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/9d61f003d5034eec09fa935b.jpg" border="0" small="0" alt="" /></div> <p>下蝲mod_jk</p> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/52855e82373a3ea20df4d224.jpg" border="0" small="0" alt="" /></div> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/46899c50d44e3b628435245b.jpg" border="0" small="0" alt="" /></div> <div forimg="1"></div> <div forimg="1"></div> <p><strong>2.修改Apache配置文ghttp.conf</strong></p> <p>   在apache安装目录下conf目录中找到http.conf</p> <p>   在文件最后加上下面一句话可以了</p> <p>  include "E:\ide\apache\Apache2\conf\mod_jk.conf"</p> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/d1c28cd49b8d6901a08bb720.jpg" border="0" small="0" alt="" /></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"><strong>2. http.conf 同目录下新徏mod_jk.conf文gQ内容如?/strong></div> <div forimg="1">   </div> <div forimg="1">#加蝲mod_jk Module<br /> LoadModule jk_module modules/mod_jk-apache-2.0.55.so</div> <div forimg="1"></div> <div forimg="1">#指定 workers.properties文g路径<br /> JkWorkersFile conf/workers.properties</div> <div forimg="1"></div> <div forimg="1">#指定那些h交给tomcat处理,"controller"为在workers.propertise里指定的负蝲分配控制?/div> <div forimg="1">JkMount /*.jsp controller</div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"><strong>3.在http.conf同目录下新徏 workers.properties文gQ内容如?/strong></div> <div forimg="1"> </div> <div forimg="1">worker.list = controller,tomcat1,tomcat2  #server 列表</div> <div forimg="1"></div> <div forimg="1">#========tomcat1========</div> <div forimg="1">worker.tomcat1.port=8009         #ajp13 端口P在tomcat下server.xml配置,默认8009<br /> worker.tomcat1.host=localhost  #tomcat的主机地址Q如不ؓ(f)本机Q请填写ip地址<br /> worker.tomcat1.type=ajp13<br /> worker.tomcat1.lbfactor = 1   #server的加权比重,D高,分得的请求越?/div> <div forimg="1"></div> <div forimg="1">#========tomcat2========</div> <div forimg="1">worker.tomcat2.port=9009       #ajp13 端口P在tomcat下server.xml配置,默认8009<br /> worker.tomcat2.host=localhost  #tomcat的主机地址Q如不ؓ(f)本机Q请填写ip地址<br /> worker.tomcat2.type=ajp13<br /> worker.tomcat2.lbfactor = 1   #server的加权比重,D高,分得的请求越?/div> <div forimg="1"><br /> #========controller,负蝲均衡控制?=======<br /> worker.controller.type=lb<br /> worker.controller.balanced_workers=tomcat1,tomcat2   #指定分担h的tomcat<br /> worker.controller.sticky_session=1</div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"><strong>4.修改tomcat配置文gserver.xml</strong></div> <div forimg="1">如果你在不同?sh)脑上安装tomcat,tomcat的安装数量ؓ(f)一个,可以不必修改tomcat配置文g</div> <div forimg="1">我这里是在同一台电(sh)脑上安装两个tomcatQ所以需要更改其中一个的讄</div> <div forimg="1"></div> <div forimg="1">打开tomcat2/conf/server.xml文g</div> <div forimg="1"> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/a3d133a8ed4063b1ca130c36.jpg" border="0" small="0" alt="" /> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/8c3cae7727b25d1bb151b937.jpg" border="0" small="0" alt="" /></div> <div forimg="1"> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/56b04b085ba7f3950b7b8230.jpg" border="0" small="0" alt="" /></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"><strong>5.~写一个测试jsp</strong></div> <div forimg="1"></div> <div forimg="1">建立一个目录test.里面新徏一个test.jsp,内容?/div> <div forimg="1"></div> <div forimg="1"><% <br />    System.out.println("===========================");<br /> %><br /> </div> <div forimg="1">把test攑ֈtomcat1,tomcat2的webapps?/div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"><strong>6.启动apache,tomcat1,tomcat2,q行试</strong></div> <div forimg="1"></div> <div forimg="1">通过 <a href="http://localhost/test/test.jsp">http://localhost/test/test.jsp</a> 讉KQ查看tomcat1的窗口,可以看到打印了一?=========="</div> <div forimg="1">再刷Cơ,tomcat2也打C一条,再刷斎ͼ可以看到h?x)被tomcat1,tomcat2轮流处理,实现了负载均?/div> <div forimg="1"> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/acf2fcf2c8b77d13b17ec53d.jpg" width="830" border="0" small="0" alt="" /></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"><strong>W二部分Q配|集?/strong></div> <div forimg="1">   只配|负载均衡还不行Q还要session复制Q也是说其中Q何一个tomcat的添加的sessionQ是要同步复制到其它tomcatQ?集群内的tomcat都有相同的session</div> <div forimg="1"></div> <div forimg="1"><strong>1. 修改tomcat1, tomcat2的server.xml</strong>,集部分配|的在注释符删掉,q将tomcat2?001端口改ؓ(f)4002Q以避免与tomcat冲突Q当Ӟ如果是两台电(sh)脑,是不用改端口的,L注释W即?/div> <div forimg="1">   <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/aa4ab5fb0f3582224f4aeab2.jpg" border="0" small="0" alt="" /></div> <div forimg="1"> <div forimg="1"> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/89b84c3627ecc1dda3cc2b92.jpg" border="0" small="0" alt="" /></div> </div> <div forimg="1"> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/cc4b858b603d47d3fd1f10b2.jpg" border="0" small="0" alt="" /></div> <div forimg="1"></div> <div forimg="1"></div> <div forimg="1"><strong> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/52dfdac4bc506ecb38db4959.jpg" border="0" small="0" alt="" /></div> </strong></div> <div forimg="1"><strong></strong></div> <div forimg="1"><strong>2Q修Ҏ(gu)试项目test</strong></div> <div forimg="1">修改test.jsp,内容如下</div> <div forimg="1"></div> <div forimg="1">  <%@ page contentType="text/html; charset=GBK" %><br /> <%@ page import="java.util.*" %><br /> <html><head><title>Cluster App Test</title></head><br /> <body><br /> Server Info:<br /> <%<br /> out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%><br /> <%<br />   out.println("<br> ID " + session.getId()+"<br>");</div> <div forimg="1">  // 如果有新?Session 属性设|?br />   String dataName = request.getParameter("dataName");<br />   if (dataName != null && dataName.length() > 0) {<br />      String dataValue = request.getParameter("dataValue");<br />      session.setAttribute(dataName, dataValue);<br />   }</div> <div forimg="1">  out.print("<b>Session 列表</b>");</div> <div forimg="1">  Enumeration e = session.getAttributeNames();<br />   while (e.hasMoreElements()) {<br />      String name = (String)e.nextElement();<br />      String value = session.getAttribute(name).toString();<br />      out.println( name + " = " + value+"<br>");<br />          System.out.println( name + " = " + value);<br />    }<br /> %><br />   <form action="index.jsp" method="POST"><br />     名称:<input type=text size=20 name="dataName"><br />      <br><br />     ?<input type=text size=20 name="dataValue"><br />      <br><br />     <input type=submit><br />    </form><br /> </body><br /> </html></div> <div forimg="1"></div> <div forimg="1">然后在test 新徏WEB-INF目录QW(xu)EB-INF下新建web.xml,内容如下</div> <div forimg="1"><web-app xmlns="<a xmlns:xsi="<a xsi:schemaLocation="<a >http://java.sun.com/xml/ns/j2ee</a> <a version="2.4"><br />        <display-name>TomcatDemo</display-name><br />       <strong><font color="#ff0000"> <distributable/></font></strong><br /> </web-app></div> <div forimg="1"></div> <div forimg="1">注意Q在你的应用的web.xml加入 <font color="#ff0000"><strong> <distributable/></strong> </font><font color="#000000">卛_</font></div> <div forimg="1"></div> <div forimg="1">ok,讲test复制到tomcat1,tomcat2的webapps下,重启apache,tomcat1,tomcat2,</div> <div forimg="1">输入|址 <a href="http://localhost/test/test.jsp">http://localhost/test/test.jsp</a>   </div> <div forimg="1"></div> <div forimg="1">新徏一?名称?xiaoluo  ,gؓ(f) cdut 的session,提交查询Q新开一个ieH口Q再提交查询Q如图,可以看到Q两个tomcat 是负载均衡,q且session同步?/div> <div forimg="1"> <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/luodaijun/pic/item/79a9317af99aa5ed2e73b385.jpg" width="830" border="0" small="0" alt="" /></div> </div> </div> </div> </div> </div> </div> </div> </div> <img src ="http://www.aygfsteel.com/fuhoujun/aggbug/235373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/fuhoujun/" target="_blank">Loy Fu</a> 2008-10-20 08:49 <a href="http://www.aygfsteel.com/fuhoujun/archive/2008/10/20/235373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java下的框架~程之cglib的应?/title><link>http://www.aygfsteel.com/fuhoujun/archive/2008/10/08/233074.html</link><dc:creator>Loy Fu</dc:creator><author>Loy Fu</author><pubDate>Wed, 08 Oct 2008 02:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/fuhoujun/archive/2008/10/08/233074.html</guid><wfw:comment>http://www.aygfsteel.com/fuhoujun/comments/233074.html</wfw:comment><comments>http://www.aygfsteel.com/fuhoujun/archive/2008/10/08/233074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/fuhoujun/comments/commentRss/233074.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/fuhoujun/services/trackbacks/233074.html</trackback:ping><description><![CDATA[<table cellspacing="0" cellpadding="0" width="96%" align="center" border="0"> <tbody> <tr> <td class="d_font3" valign="bottom" align="center" height="24">Java下的框架~程之cglib的应?/td> </tr> <tr> <td bgcolor="#e3e3e3" height="3"></td> </tr> <tr> <td> </td> </tr> <tr> <td class="d_font4"> <p>Proxy可以看作是微型的AOPQ明白提供了在承和委托之外的第三个代码装途径Q只要有_的想象力Q可以做得非常好玩,Spring的源码里用Proxyq得很随便Q看得我非常眼红。可惜Proxy必须Z接口。因此Spring的做法,Z接口的用proxy,否则qcglib。AOP么,一般小事非compoent一U的׃ȝAspectJ出手了?/p> <p>cglib的Enhancer说v来神奇,用v来一늺不到p完了?/p> <p>它的原理是用Enhancer生成一个原有类的子c,q且讄好callback到proxyQ?则原有类的每个方法调用都?x){用实CMethodInterceptor接口的proxy的intercept() 函数Q?/p> <p> <table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"> <tbody> <tr> <td class="code" bgcolor="#e6e6e6"> <pre> <p><span style="color: #0000ff">public</span><span style="color: #000000"> Object intercept(Object o,Method method,Object[] args,MethodProxy proxy)</span></p> </pre> </td> </tr> </tbody> </table> </p> 在intercept()函数里,你可以在执行Object result=proxy.invokeSuper(o,args);来执行原有函敎ͼ在执行前后加入自q东西Q改变它的参数|也可以瞒天过P完全q别的。说白了Q就是AOP中的around advice?<br /> <p>AOP没有出现以前Q该领域l典的设计模式是DecoratorQ像Java IO Stream的设计就是如此。不q,如果为每个DAO, 每个Ҏ(gu)的写Decorator函数?x)写Mh的,所以用上cglib的好处是一ơ过拦截所有方法?nbsp;<br /> <br /> 另外Qcglib除了Enhancer之外Q还有BulkBean和TransformQ都是Hibernate持久化的基础Q但文档贫乏Q一时还没去看怎么用?br /> <br /> 1.AOP里讲了一N啊一N的log aspect在cglib是这样做的:(x)</p> <p> <table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"> <tbody> <tr> <td class="code" bgcolor="#e6e6e6"> <pre> <p><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> LogDAOProxy </span><span style="color: #0000ff">implements</span><span style="color: #000000"> MethodInterceptor<br />    {<br />        </span><span style="color: #0000ff">private</span><span style="color: #000000"> Logger log</span><span style="color: #000000">=</span><span style="color: #000000">Logger.getLogger(LogDAOProxy.</span><span style="color: #0000ff">class</span><span style="color: #000000">);<br />        </span><span style="color: #0000ff">private</span><span style="color: #000000"> Enhancer enhancer</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000"> Enhancer();<br />         </span><span style="color: #008000">//</span><span style="color: #008000">q回DAO的子c?/span><span style="color: #008000"><br /> </span><span style="color: #000000">       </span><span style="color: #0000ff">public</span><span style="color: #000000"> Object getDAO(Class clz)<br />        {<br />            enhancer.setSuperclass(clz);<br />            enhancer.setCallback(</span><span style="color: #0000ff">this</span><span style="color: #000000">);<br />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> enhancer.create();<br />        }<br />        </span><span style="color: #008000">//默认</span><span style="color: #008000">的拦截方?/span><span style="color: #008000"><br /> </span><span style="color: #000000">      </span><span style="color: #0000ff">public</span><span style="color: #000000"> Object intercept(Object o,Method method,Object[] args,</span></p> <p><span style="color: #000000"> MethodProxy proxy) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> Throwable<br />       {<br />            log.info(</span><span style="color: #000000">"</span><span style="color: #000000">调用日志Ҏ(gu)</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">method.getName());<br />            Object result</span><span style="color: #000000">=</span><span style="color: #000000">proxy.invokeSuper(o,args);<br />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> result;<br />       }<br />    }</span></p> </pre> </td> </tr> </tbody> </table> <br /> 应用的代码:(x)</p> <p> <table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"> <tbody> <tr> <td class="code" bgcolor="#e6e6e6"> <pre> <p>LogDAOProxy proxy <span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> LogDAOProxy();<br />   GoodsDAO  dao </span><span style="color: #000000">=</span><span style="color: #000000"> (GoodsDAO)proxy.getDAO(GoodsDAO.</span><span style="color: #0000ff">class</span><span style="color: #000000">);<br />   dao.insert(goods);</span></p> </pre> </td> </tr> </tbody> </table> <br /> 2.而在Spring的管理下应该略加修改的高UDecorator</p> <p>上面的例子用<span style="color: #0000ff">return</span><span style="color: #000000"> enhancer.create();创徏子类实例Q但在Spring理下,一些Bean的实例必ȝSpring来创建和理Q而不由enhancer来创建的。所以我对上q用法略加修改,使它真正当一个Proxy的角Ԍ请对比黑体字的部分?/span></p> <p><span style="color: #000000"> <table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"> <tbody> <tr> <td class="code" bgcolor="#e6e6e6"> <pre> <p><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> LogDAOProxy </span><span style="color: #0000ff">implements</span><span style="color: #000000"> MethodInterceptor<br />   {<br />        </span><span style="color: #0000ff">private</span><span style="color: #000000"> Logger log</span><span style="color: #000000">=</span><span style="color: #000000">Logger.getLogger(LogDAOProxy.</span><span style="color: #0000ff">class</span><span style="color: #000000">);<br />        </span><span style="color: #0000ff">private</span><span style="color: #000000"> Object dao</span><span style="color: #000000">=</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />        </span><span style="color: #0000ff">private</span><span style="color: #000000"> Enhancer enhancer</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000"> Enhancer();<br />         </span><span style="color: #008000">//</span><span style="color: #008000">q回DAO的子c?/span><span style="color: #008000"><br /> </span><span style="color: #000000">       </span><span style="color: #0000ff">public</span><span style="color: #000000"> Object getDAO(Class clz,Object dao)<br />        {<br />            </span><span style="color: #0000ff">this</span><span style="color: #000000">.dao </span><span style="color: #000000">=</span><span style="color: #000000"> dao;<br />            enhancer.setSuperclass(clz);<br />            enhancer.setCallback(</span><span style="color: #0000ff">this</span><span style="color: #000000">);<br />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> enhancer.create();<br />        }      <br />        </span><span style="color: #008000">//</span><span style="color: #008000">默认的拦截方?/span><span style="color: #008000"><br /> </span><span style="color: #000000">      </span><span style="color: #0000ff">public</span><span style="color: #000000"> Object intercept(Object o,Method method,Object[] args,</span></p> <p><span style="color: #000000"> MethodProxy proxy) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> Throwable<br />       {<br />            log.info(</span><span style="color: #000000">"</span><span style="color: #000000">调用日志Ҏ(gu)</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">method.getName());<br />            Object result</span><span style="color: #000000">=</span><span style="color: #000000">proxy.invoke(dao, args);<br />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> result;<br />       }<br /> }</span></p> </pre> </td> </tr> </tbody> </table> <br /> </span>可见Q原来模式里在getDao()时由enhancer创徏daoQ?nbsp;调用intercept时则enhancer创徏的dao以Object o参数传回?br /> 而新模式里,dao在getDao()时从外面传入Qenhancer.create()q回的是一个proxy. 而调用interceptӞ实际?x)用之前传入的daoq行操作Q而忽略Object o参数传入的proxy?/p> <p>有点遗憾, intercept函数里MethodProxy的Signature是固定的Q即客户如果调用foo(String),你不可以用proxy.invokeh成foo(String,String); </p> </td> </tr> </tbody> </table> <img src ="http://www.aygfsteel.com/fuhoujun/aggbug/233074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/fuhoujun/" target="_blank">Loy Fu</a> 2008-10-08 10:38 <a href="http://www.aygfsteel.com/fuhoujun/archive/2008/10/08/233074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ţ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ֹ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">质</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ר</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"> </a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>