集成JMX
JMX是用来管理Java组件的J2EE标准。Hibernate也可以通过JMX标准服务来管理。我们在发布包中提供了一个Mbean的实现:org.hibernate.jmx.HibernateService。在Jboss用户指南中有如何在Jboss应用服务器上部署Hibernate作为JMX服务的例子。在Jboss应用服务器上,如果你使用JMX部署,有以下好处:
Session管理:Hibernate会话的生命周期能够自动的绑定到JTA事务的范围上。也就是说你不用再手动的打开关闭会话,它将作为Jboss EJB拦截器的工作。你也不用担心在代码任何地方有关事务边界的问题(除非你想自己写一个轻便的持久层,使用Hibernate的事务API)。可以通过调用HibernateContext来访问一个会话。
HAR部署:通常情况下,你可以使用Jboss部署描述符(在EAR或者SAR文件中)来部署Hibernate为一个JMX服务,这种方式支持SessionFactory所有有效的配置选项。但是这种方式仍然需要在部署描述符中命名所有的映射文件。如果你使用HAR方式部署,Jboss将会自动检测HAR文件中所有的映射文件。
查看Jboss用户指南可以得到集成JMX的更多信息。
JMX服务的另外一个特性就是运行时Hibernate统计.