花了不少時間在AppEngine上部署了個項目,準備有空的時候就持續更新上去。
關于AppEngine現在還是有很多限制,比如不能寫文件,不能使用很多java的標準類庫,不能產生新進程等。
google列出了一個可用的java類庫白名單,在部署你自己的項目的時候最好參考一下這個白名單,否則可能會在部署應用時遇到很多莫名的錯誤。雖然google提供了相關的SDK可以在本地模擬AppEngine的應用環境,大部分情況下都是正確的,但是有時候你會發現上傳應用之后會無法成功部署。這個可能是因為本地應用引用的類庫中可能引用了AppEngine不支持的類庫。在部署不成功之后,首頁只是出現叫你報告該錯誤而已,并沒有提供詳細的日志信息,這是很痛苦的。幸好在google的開發人員首頁中有提供相關的日志信息,進入自己的控制臺可以看到自己的相關項目的詳細信息,但是這些日志信息可能不是很實時。另外到AppEngine社區去查找一些相關的信息也是一個很好的方法,在配置spring的過程中就在社區獲得很多有用的信息,看起來AppEngine并不是完全兼容spring的,因為spring中使用了部分白名單中沒有的類庫,包括JSF1.2,現在也不兼容。
不過還好Spring還是可以配置使用的,JSF1.1也可以運行得很好。我現在在AppEngine上部署的項目就使用了Spring2.5,JSF1.1,Facelets1.14,Annotation,JPA。
目前只是個基本架構,只是將自己的Ajax框架QFaces部署了上去,現在可以在線看到這些組件的Demo了,并可下載該組件包。
http://huliqing-qfaces.appspot.com/qfaces-example/_qfaces.faces
1.QFaces1.4新增了兩個組件:RegexValidator,SaveState, 這兩個組件都不是ajax方式的,但是仍然實用,甚至比其它組件更好。
2.優化了部分javascript代碼,并解決了部分在非UTF-8下javascript中文亂碼的bug。
3.修正了Tree組件的編輯面板在FireFox下無法拖動的bug,繼續擴大QFaces.js實用庫。
4.現在兼容JSF1.1,在原來版本只兼容JSF1.2,為了在AppEngine上部署,所以兼容了JSF1.1
5.取消了對jsp的支持。現在版本必要的運行環境是:Facelets,JSF1.1或更高(建議使用JSF1.2)
歡迎朋友一起交流,或提供建議。
- huliqing@huliqing.name
- http://www.huliqing.name