在開發(fā)程序的時(shí)候熱加載是非常有幫助的,這能大大簡(jiǎn)化我們開發(fā)調(diào)試的速度。在使用tapestry開發(fā)的時(shí)候,只要是啟動(dòng)了調(diào)試模式,那么代碼的熱替換是自動(dòng)被JVM支持的,也就是只要我們的tapestry運(yùn)行在調(diào)試模式下,就可以實(shí)現(xiàn)java代碼的即時(shí)修改即時(shí)生效。但是tapestry的頁(yè)面文件(.page和.html模板)默認(rèn)是無(wú)法實(shí)現(xiàn)熱加載的,每次修改頁(yè)面都必須重啟服務(wù)器,大大降低了開發(fā)速度。其實(shí)解決這個(gè)問(wèn)題只要增加虛擬機(jī)參數(shù)就可以了,只要在虛擬機(jī)參數(shù)(注意不是應(yīng)用參數(shù))中加入:-Dorg.apache.tapestry.enable-reset-service=true -Dorg.apache.tapestry.disable-caching=true即可。這樣每次修改的時(shí)候tapestry就不會(huì)去緩存中取了,其中org.apache.tapestry.enable-reset-service的意思是:If not specified as "true", then the reset service will be non-functional. The reset service is used to force the running Tapestry application to discard all cached data (including templates, specifications, pooled objects and more). This must be explicitly enabled, and should only be used in development (in production, it is too easily exploited as a denial of service attack).
Unlike most other configuration values, this must be specified as a JVM system property.