知识大全 整合Hibernate3与JBOSS 3.2.X

Posted 文件

篇首语:苟利国家生死以,岂因祸福避趋之。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 整合Hibernate3与JBOSS 3.2.X相关的知识,希望对你有一定的参考价值。

整合Hibernate3与JBOSS 3.2.X  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  前言――强强联合

  在J EE应用服务器领域 JBoss是发展最为迅速的应用服务器 由于JBoss遵循商业友好的LGPL授权分发 并且由开源社区开发 这使得JBoss广为流行 另外 JBoss应用服务器还具有许多优秀的特质 其一 它将具有革命性的JMX微内核服务作为其总线结构 其二 它本身就是面向服务的架构(Service Oriented Architecture SOA) 其三 它还具有统一的类装载器 从而能够实现应用的热部署和热卸载能力 因此 它是高度模块化的和松耦合的 JBoss用户的积极反馈告诉我们 JBoss应用服务器是健壮的 高质量的 而且还具有良好的性能 年JBOSS获得了最佳应用服务器称号

  Entity Bean的效率问题一直是J EE开发中争议热点 近年来 Hibernate已经成为了事实上的持久化引擎 最新版的JBoss应用服务器已经将Hibernate集成为JMX MBean服务 这使得用户能够在应用服务器环境中直接使用Hibernate 而不管它是否处于J EE上下文中 JBOSS 中已经融入了Hibernate作为对象持久化的基础

  对于大量采用JBOSS x的用户 如何将Hibernate 加入到JBOSS中 以便使用JBOSS的连接池 支持JBOSS的BMT和CMT事务 下文将详细将Hibernate 加入到JBOSS x的实现步骤

  操作步骤

  JBOSS是以JMX为微内核的 各种功能和服务都有MBean提供 同时Hibernate提供了对MBean接口的实现 hibernate jmx HibernateService 所以我们可以很方便的将持久化类打包成Mbean 部署到JBOSS中 以下是具体步骤

     将Hibernate jar及Hibernate用到的其他库文件一同拷贝至相应的JBOSS路径下(如 jboss \\server\\default\\lib)

     为了将我们编写的持久化管理类 加入到JBOSS中 我们必须将他封装成Mbean形式 以便被JMX加载

  如同实现一般的Mbean一样需要编写jboss service xml文件 文件内容如下

  <server>

  <mbean code= hibernate jmx HibernateService name= jboss jca service=HibernateFactory name=HibernateFactory >

  <depends>jboss jca service=RARDeployer</depends>

  <depends>jboss jca service=LocalTxCM name=YourDataSource</depends>

  <attribute name= MapResources >mappings/Yourmapping hbm xml</attribute>

  <attribute name= JndiName >java /YourJNIDName</attribute>

  <attribute name= Datasource >YourDataSourceJNIDName </attribute>

  <attribute name= Dialect > hibernate dialect SQLServerDialect</attribute>

  <attribute name= TransactionStrategy > hibernate transaction JTATransactionFactory</attribute>

  <attribute name= TransactionManagerLookupStrategy > hibernate transaction JBossTransactionManagerLookup</attribute>

  <attribute name= UserTransactionName >UserTransaction</attribute>

  </mbean>

  </server>

  注释

  <depends>元素表示该Mbean依赖的服务 其中需要将YourDataSource替换实际应用中使用的数据源的名称

  <attribute>元素对Mbean中的属性进行了配置 其中

  MapResource指定了持久化类的映射文件 将其替换为实际的映射文件名

  JndiName指定的是所用到的数据源的JNDI名 将其替换为实际的数据源JNDI名称

  Dialect同样根据使用的数库类型不同 进行相应的替换

  TransactionStrategy 在你的Session Bean使用BMT的时候应该配置为 hibernate transaction JTATransactionFactory 而当你的Session Bean使用CMT的时候应该配置为 hibernate transaction CMTTransactionFactory

  Mbean是一种jar文件(但其后缀不是jar 而是sar) 以下是要创建的sar包的内部结构

  YourClasses(持久化类及辅助类)

  mappings/ Yourmapping hbm xml

  META INF/joss service xml

            在Session Bean中调用持久化对象

  …

  private javax ejb SessionContext _ctx

  public void setSessionContext(javax ejb SessionContext ctx)

  

  _ctx=ctx

  

  …

  

  try

  InitialContext ctx = null

  ctx = new InitialContext()

  SessionFactory jtaf = (SessionFactory)ctx lookup(jndiName)

  Session session=jtaf openSession()

  //Transaction tx = sessio

  UserTransaction tx=_ctx getUserTransaction()

  tx begin()

  Book book = new Book()

  book setId( )

  book setBook_name( JBOSS&Hibernate )

  book setPrice( f)

  session save(book)

  tx rollback()

  session close()

       catch (NamingException e)

  e printStackTrace()

   catch (Exception e )

  e printStackTrace()

  

  

  …

  上面的代码段展示了 在session bean中操作hibernate持久化对象的过程 并且展示了如何使用JBOSS提供的JTA事务

  好了现在Hibernate 已经和JBOSS X完美的整合在一起了

cha138/Article/program/Java/ky/201311/28023

相关参考

知识大全 Hibernate3.1与Hibernate3.2

Hibernate3.1与Hibernate3.2  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Jboss中Myfaces与Sitemesh的集成

Jboss中Myfaces与Sitemesh的集成  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 JBoss与Sun的Java标准之争日趋严重

JBoss与Sun的Java标准之争日趋严重  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SU

知识大全 2(x一3)=3x(x一3) 全过程

2(x一3)=3x(x一3)全过程2(x一3)=3x(x一3)3x(x-3)-2(x-3)=0(x-3)(3x-2)=0x1=2/3x2=3(-2z)6-(-3z^3)2-[-(2z)^2]3=(-2

知识大全 3/1(x-5)=3-3/2(x-5)的解

3/1(x-5)=3-3/2(x-5)的解1/3(x-5)=3-2/3(x-5)1/3x-5/3=3-2/3x+10/31/3x+2/3x=3+10/3+5/3x=8(27x3-18x2+3x)÷(-

知识大全 x减(x乘1/3加2)-(x乘1/2减1)=10这个方程怎么解

x减(x乘1/3加2)-(x乘1/2减1)=10这个方程怎么解?x-(x/3+2)-(x/2-1)=10x-x/3-2-x/2+1=10x/6=11x=662乘以[1减1/3乘以(x减3分之1加x)]

知识大全 (x+1)= 1 4 : 2 5 506×3- 3 2 x=33

求x.23:(x+1)=14:25506×3-32x=33(1)23:(x+1)=14:25,14x+14=23×25,14x+14-14=415-14,14x÷14=160÷14,x=115;(2)

知识大全 Hibernate3的DetachedCriteria支持

Hibernate3的DetachedCriteria支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 Hibernate3.X 实践总结

Hibernate3.X实践总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernat

知识大全 Hibernate3的DetachedCriteria支持[1]

Hibernate3的DetachedCriteria支持[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起