EJB小用(java.lang.ClassCastException的解決)

        由於工作需要最近看了看EJB方面的東西(以前都沒怎麼細緻的看過,也算的上是在j2ee技術方面的一個缺陷吧),用了用最簡單的stateless session bean,有點小經驗
        首先用jb2006來編寫ejb確實很方便,它的ejb modul使用起來很順手,相比用eclipse(或myEclipse)就不那麼爽了(也許是自己沒找到好的插件)。
        由於stateless session bean可以在用戶中共享,ejb容器提供了一個pool,所以在bean上寫一些方法來讓用戶調用(特別是用戶使用量比較大時),應該可以提高程序的性能。
        還有就是在jboss4.0.X中運行ejb時會出現問題,在將通過JNDI獲得的Home或者LocalHome接口進行PortableRemoteObject.narrow或者強制轉換爲LocalHome的時候,會出現java.lang.ClassCastException異常,這是因爲JBoss4.0.2使用了Tomcat的Class Loader來加載Web應用的類,修改的方法是打開$JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar/META-INF目錄下的jboss-service.xml文件,更改UseJBossWebLoader的屬性值爲true(默認值爲false),即可。這樣做是指定JBoss使用JBoss統一的Class Loader來加載Web應用的類(這個小問題剛開始困饒了我一個晚上加大半個白天,再加上這兩天有些事整的我心情非常不好,所以很煩,不過還好沒有放棄,並最後找到原因,感覺還是很欣慰的)      
       在這裏也有個問題,就是關於ejb中的事務,還不太清楚怎麼使用,我可以在xml文件中進行設置,讓bean中的多個方法保持事務一致性(即在多個方法中分別操作數據庫時保證出現異常,全部回滾),但怎麼樣能在一個方法中實現事務了,這個方法中我要多次操作數據庫,有可能是操作不同的數據庫,即要多次connect數據庫,那我如何能讓其中某一個操作失敗時,前面操作成功的也回滾了,google了半天也沒找到做法,在csdn上發了貼,希望能有人幫幫忙吧
 
發佈了34 篇原創文章 · 獲贊 0 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章