云自無心水自閑

          天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
          posts - 288, comments - 524, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Tapestry5.2的新變化

          Posted on 2010-08-18 07:13 云自無心水自閑 閱讀(1077) 評(píng)論(0)  編輯  收藏 所屬分類: Java 、心得體會(huì)Tapestry
          Tapestry開發(fā)小組中的一個(gè)成員的blog中記錄了5.2版本帶來的新變化
          1、增強(qiáng)了class reload的功能(我個(gè)人也認(rèn)為這一點(diǎn)是5.2版本最令人激動(dòng)的改進(jìn)),以前Tapestry和其他的web框架類似,修改頁面不需要重新啟動(dòng)application server, 但是修改了類之后,必須重新啟動(dòng)應(yīng)用服務(wù)器才行。但是在Tapestry5.2中,對(duì)這一點(diǎn)進(jìn)行了修改,如果只改變了接口的實(shí)現(xiàn)類,而不改變接口的方法簽名,就不需要重新啟動(dòng)應(yīng)用服務(wù)器
          2、新增了若干個(gè)組件,比如:Error和Trigger。
          Error和原有的Errors類似,但是Error用于給指定的組件顯示驗(yàn)證錯(cuò)誤信息。
          Trigger提供了在瀉染頁面過程中觸發(fā)任務(wù)事件的功能,常常用于通過RenderSupport來給頁面添加JavaScript代碼
          3、新的插件(Mixin),包括RenderClientId, RenderNotification
          4、集成了JSR-303 Bean的驗(yàn)證,現(xiàn)在可以在頁面中使用JSR-303標(biāo)準(zhǔn)的注解來給字段指定需要的驗(yàn)證
          5、新的注解,包括@Contribute,@RequestParameter, @ActivationRequestParameter, 使用后兩個(gè)注解能很容易地獲取request中的參數(shù)
          6、新的頁面生命周期事件:pageReset
          7、鏈接修飾過程中的新事件: decoratePageRenderLink, decoreateComponentEventLink
          8、頁面解析器的更換,原來使用StAX,造成了對(duì)Google App Engine和對(duì)OSGI的不兼容,5.2版本中使用了標(biāo)準(zhǔn)的SAX解析器
          9、頁面緩沖池的廢除(我認(rèn)為這是5.2版本的一個(gè)相當(dāng)大而且也是非常重要的一個(gè)變化,我認(rèn)為頁面緩沖池技術(shù)是tapestry學(xué)習(xí)曲線陡峭的一個(gè)重要原因),5.2版本中所有頁面將只有一個(gè)實(shí)例(也就是lewis howard說的單例化),頁面屬性的值將會(huì)在每個(gè)線程中使用一個(gè)Map來保存。這樣一個(gè)頁面實(shí)例可以在多個(gè)線程中使用,而不會(huì)有同步問題。
          但是,由于這是一個(gè)新的嘗試,所以lewis也不確定這樣做的效果是否很好(詳見:http://tapestryjava.blogspot.com/2010/07/everyone-out-of-pool-tapestry-goes.html)所以,在5.2中可以通過配置恢復(fù)頁面緩沖池的使用。

          主站蜘蛛池模板: 长泰县| 万宁市| 莒南县| 襄汾县| 通城县| 霍山县| 渑池县| 麻栗坡县| 梨树县| 建宁县| 驻马店市| 龙州县| 尼勒克县| 且末县| 德钦县| 垫江县| 桐柏县| 三门峡市| 金华市| 奈曼旗| 页游| 濮阳市| 同江市| 文化| 比如县| 营口市| 保山市| 贺州市| 绥化市| 衡阳市| 抚宁县| 富阳市| 河池市| 兰州市| 松阳县| 无锡市| 宁津县| 庐江县| 铜山县| 涿州市| 南投市|