
Wednesday December 08, 2010
Custer/Failover developing guide line in Jboss + Seam
- 該Serializable就Serializable, 不該的, 就用transient 和 cache的觀念來作, 拿不到就重拿.
- Serializable不能有loop (A->B, B->A)
- 嚴重不建議用conversation scope的entity bean, 在failover時, set的關聯會出錯 (我建議ui可以用conversation scope, 因為ajax方便, 但entity最好還是走老路, 每次重新refresh, 不要用conversation, 這樣問題才少)
- Temp file跟temp url 一樣要用cache的觀念, 要用transient, 拿不到的時才就重新產生. (因為failover過去, 那裏並沒有這裏產生的temp file可以用呀!!)
- 不要在Object的建構子裏拿Seam component (如果object也是seam component,可以在@Create, 或是用lazy 的方式), failover時newInstance會因為沒有Seam context出錯
- 任何Seam component, 都不能留下reference (除非只留到當前的event scope), 需要的時候再拿.否則failover時, re-assign member filed會出錯. (可利用留下name加cache的觀念來玩)
- facelets.REFRESH_PERIOD要設成-1, 否則在failover時, 頁面會被recreate成另一個component tree, client tree跟server tree不一樣, 在接序下來的ui action都會應對應不上而出錯.
- About dynamic class loader above webap class loader, 所有用DCL建出來的Object, 都該由自建的serialize跟deserialize來作, 不能直接交由webap的class loader, 否則在failover deserialize時會load不到對應的class而出現class not found error.
Trackback URL: http://www.javaworld.com.tw/roller/atticcat/entry/cluster_developing_guide_line_on
Sans ses deux arrêts de classe internationale, dans <strong><a href="http://www.maillotdefootdefrance.com/">maillotdefootdefrance.com</a></strong> le premier quart d'heure, face à Sneijder et Milito, le match aurait pris une toute autre tournure. Deux sauvetages qui ont donné confiance à des Marseillais qui ne se sont jamais affolés, soucieux de conserver le ballon et de construire.<br />
<br />
Mandanda et Diawara vont manquer<br />
<br />
«Steve? Il est énorme, on le savait déjà», a réagi Stéphane Mbia <strong><a href="http://www.achatmaillotfootball.com/">http://www.achatmaillotfootball.com/</a></strong> , lui aussi auteur d'une très grande performance au milieu de terrain. «En première période, quand il fait ses arrêts, on s'est regardé et on s'est dit: on ne peut pas perdre».
Posted by R5UJ on August 23, 2012 at 10:06 AM CST #