2.4.4 JMX

Java世界中充满了各种规范、标准以及各种实现。有一个新的但是非常的标准就是JMX。JMX是关于系统模块或者说是系统服务的标准。

那么Hibernate是如何融入这个新的图景中的呢?部署在服务器中的Hibernate会使用其他服务例如事务和数据库连接池等等。但是为什么Hibernate自己不作为一个服务被其他组件使用呢。当JMX出现的时候,这一切都成为了一种可能,Hibernate可以作为JMX的一个组件存在。

JMX规范顶一下如下的几个组件:

  • JMX MBean-一个可以被重用的组件,它向外界暴露自身的接口。
  • JMX容器-负责对于Mbean的访问。
  • JMX客户端-通过JMX容器来管理MBean。

支持JMX的应用服务器会扮演JMX容器的角色,它允许配置MBean并且在启动服务器的时候启动它们。也可以通过服务器的的控制台来管理MBean。

MBean可以被包装成JMX服务,这个服务不仅可以在不同的服务器之间互相访问,同时也可以支持热部署。

Hibernate应该被包装成为JMX MBean。Hibernate JMX服务允许Hibernate在服务器启动的时候被初始化,同时也可以通过JMX客户端来管理Hibernate。然而,JMX组件并不会自动和容器管理的事务融合。因此,在列表2.7中的配置选项和在管理环境中Hibernate的配置选项很相似。

image 

HibernateService依靠另外两个JMX服务:分别是service=RARDeployer和service=LocalTxCM,name=DataSource,这个两个服务都是属于JBoss的服务。

Hibernate MBean可以在net.sf.hibernate.jmx..Unfortunately,生命期管理例如启动和停止JMX服务并不属于JMX1.0规范的范畴。因此如果你要使用HibernateService的start()和stop()方法的话,那么你就需要需要JBoss服务器的接口。

我们推荐你使用编程的方式来完成对于Hibernate的配置而不是使用JMX Service。然而,很多特性(例如热部署)只有JMX Service才能够提供。现在,JMX的Hibernate的最大优势就是能够自动启动,这意味着你不在需要创建Configuration以及创建SessionFactory,可以通过JNDI来完成对于JNDI的部署和访问。

 

 

 

2.4.5 总结(略)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值