成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate3和JBOSS 3.2強強聯手

開發 后端
這里介紹對于大量采用JBOSS 3.2.x的用戶,如何將Hibernate3加入到JBOSS中,以便使用JBOSS的連接池,支持JBOSS的BMT和CMT事務。下文將詳細將Hibernate3加入到JBOSS 3.2.x的實現步驟。

Hibernate有很多值得學習的地方,這里我們主要介紹Hibernate3,包括介紹JBOSS 3.2等方面。

在J2EE應用服務器領域,JBoss是發展最為迅速的應用服務器。由于JBoss遵循商業友好的LGPL授權分發,并且由開源社區開發,這使得JBoss廣為流行。另外,JBoss應用服務器還具有許多優秀的特質。其一,它將具有革命性的JMX微內核服務作為其總線結構;其二,它本身就是面向服務的架構(Service- Oriented Architecture,SOA);其三,它還具有統一的類裝載器,從而能夠實現應用的熱部署和熱卸載能力。因此,它是高度模塊化的和松耦合的。JBoss用戶的積極反饋告訴我們,JBoss應用服務器是健壯的、高質量的,而且還具有良好的性能,2002年JBOSS獲得了最佳應用服務器稱號。

Entity Bean的效率問題一直是J2EE開發中爭議熱點,近年來,Hibernate已經成為了事實上的持久化引擎。最新版的JBoss應用服務器已經將Hibernate集成為JMX MBean服務。這使得用戶能夠在應用服務器環境中直接使用Hibernate,而不管它是否處于J2EE上下文中。JBOSS 4.0中已經融入了Hibernate作為對象持久化的基礎。

對于大量采用JBOSS 3.2.x的用戶,如何將Hibernate3加入到JBOSS中,以便使用JBOSS的連接池,支持JBOSS的BMT和CMT事務。下文將詳細將Hibernate3加入到JBOSS 3.2.x的實現步驟。

操作步驟

JBOSS是以JMX為微內核的,各種功能和服務都有MBean提供,同時Hibernate提供了對MBean接口的實現org.hibernate.jmx.HibernateService.所以我們可以很方便的將持久化類打包成Mbean,部署到JBOSS中,以下是具體步驟:

1.將Hibernate3.jar及Hibernate用到的其他庫文件一同拷貝至相應的JBOSS路徑下(如:jboss-3.2.1\server\default\lib)。

2.為了將我們編寫的持久化管理類,加入到JBOSS中,我們必須將他封裝成Mbean形式,以便被JMX加載。

如同實現一般的Mbean一樣需要編寫jboss-service.xml文件,文件內容如下:

  1. <server> 
  2. <mbean code="org.hibernate.jmx.HibernateService name="jboss.
    jca:
    service=HibernateFactoryname=HibernateFactory"> 
  3. <depends>jboss.jca:service=RARDeployer</depends> 
  4. <depends>jboss.jca:service=LocalTxCMname=YourDataSource</depends> 
  5. <attribute name="MapResources">mappings/Yourmapping.hbm.xml</attribute> 
  6. <attribute name="JndiName">java:/YourJNIDName</attribute> 
  7. <attribute name="Datasource">YourDataSourceJNIDName </attribute> 
  8. <attribute name="Dialect">org.hibernate.dialect.SQLServerDialect</attribute> 
  9. <attribute name="TransactionStrategy">org.hibernate.
    transaction.JTATransactionFactory
    </attribute> 
  10. <attribute name="TransactionManagerLookupStrategy"org.hibernate.
    transaction.JBossTransactionManagerLookup
    </attribute> 
  11. <attribute name="UserTransactionName">UserTransaction</attribute> 
  12. </mbean> 
  13. </server> 

注釋:
◆<depends>元素表示該Mbean依賴的服務,其中需要將YourDataSource替換實際應用中使用的數據源的名稱。
◆<attribute>元素對Mbean中的屬性進行了配置,其中
◆MapResource指定了持久化類的映射文件,將其替換為實際的映射文件名。
◆JndiName指定的是所用到的數據源的JNDI名,將其替換為實際的數據源JNDI名稱。
◆Dialect同樣根據使用的數庫類型不同,進行相應的替換。
◆TransactionStrategy,在你的Session Bean使用BMT的時候應該配置為org.hibernate.transaction.JTATransactionFactory,而當你的Session Bean使用CMT的時候應該配置為org.hibernate.transaction.CMTTransactionFactory.
◆Mbean是一種jar文件(但其后綴不是jar,而是sar),以下是要創建的sar包的內部結構。
◆YourClasses(持久化類及輔助類)
◆mappings/ Yourmapping.hbm.xml
◆META-INF/joss-service.xml

3.在Session Bean中調用持久化對象

  1. …  
  2. private javax.ejb.SessionContext _ctx;  
  3. public void setSessionContext(javax.ejb.SessionContext ctx)  
  4. {  
  5. _ctx=ctx;  
  6. }  
  7. …  
  8. {  
  9. try {  
  10. InitialContext ctx = null;  
  11. ctx = new InitialContext();  
  12. SessionFactory jtaf = (SessionFactory)ctx.lookup(jndiName);  
  13. Session session=jtaf.openSession();  
  14. //Transaction tx = sessio 
  15. UserTransaction tx=_ctx.getUserTransaction();  
  16. tx.begin();  
  17. Book book = new Book();  
  18. book.setId(111);  
  19. book.setBook_name("JBOSS&Hibernate");  
  20. book.setPrice(111f);  
  21. session.save(book);  
  22. tx.rollback();  
  23. session.close();  
  24. }  
  25. catch (NamingException e) {  
  26. e.printStackTrace();  
  27. } catch (Exception e1) {  
  28. e1.printStackTrace();  
  29. }  
  30. }  
  31. … 

上面的代碼段展示了,在session bean中操作hibernate持久化對象的過程,并且展示了如何使用JBOSS提供的JTA事務。

好了現在Hibernate3已經和JBOSS 3.2.X完美的整合在一起了。

【編輯推薦】

  1. 獲取Hibernate關聯關系的方法
  2. 詳細講述Hibernate綁定JNDI
  3. Hibernate Customer客戶對象
  4. 講述Hibernate Session緩存
  5. 簡單分析Hibernate讀取Clob
責任編輯:佚名 來源: 博客園
相關推薦

2015-04-16 16:04:32

云計算微軟云Azure

2011-09-19 09:32:21

微軟Windows SerAzure

2014-09-24 10:33:04

飛利浦仙視電子

2010-05-07 11:04:43

Hibernate

2013-07-08 09:41:50

HadoopGPU性能優化

2015-03-13 13:05:43

APICloud

2009-02-28 16:13:49

NovellVMware虛擬化

2010-05-26 16:54:39

桌面虛擬化英特爾微軟

2011-09-02 15:03:36

VMworld思科虛擬

2011-06-10 16:49:08

世邦H3C

2014-09-04 10:06:09

浪潮金蝶云計算

2009-06-17 09:17:41

Hibernate3

2009-08-03 11:46:13

云計算BMC亞馬遜

2015-07-08 15:06:29

智慧商圈大連華為

2023-03-26 12:15:41

PandasPySpark分布式

2014-10-15 16:31:48

IBMSAP企業云

2013-07-25 13:25:17

安卓

2016-10-25 17:04:48

京東云

2012-09-21 14:00:30

紅帽Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99国产精品视频免费观看一公开 | 亚洲成av人片在线观看无码 | 亚洲第一区久久 | 毛片视频观看 | 久久久久免费精品国产 | 国产精品视频综合 | 欧美一级毛片免费观看 | 四季久久免费一区二区三区四区 | 看片91| 久久久蜜桃一区二区人 | 中文字幕一区在线观看视频 | 国产精品视屏 | 丁香五月缴情综合网 | 国产精品无码久久久久 | 亚洲精品一区二区三区蜜桃久 | 成人毛片网 | 久久国产精品视频 | 久操福利 | 亚洲免费观看 | 97操操| 国产色视频网站 | 国产精品一区在线 | 日韩欧美视频网站 | 亚洲欧洲精品在线 | 国产黄色大片 | 午夜视频在线免费观看 | 天天拍天天色 | 精品一级毛片 | 欧美在线a | 成人乱人乱一区二区三区软件 | 精品国产一区二区三区久久狼黑人 | 黄色片在线免费看 | 久草.com | 免费观看成人av | 精品国产青草久久久久福利 | 国产探花在线精品一区二区 | 欧美精品久久久久久久久久 | 久久久国产精品入口麻豆 | 狠狠做深爱婷婷综合一区 | 欧美v在线观看 | 成年人在线观看视频 |