2.3. JMX 整合

优质
小牛编辑
125浏览
2023-12-01

JMX 是管理 Java 组件的 J2EE 标准。Hibernate 可以通过一个 JMX 标准服务来管理。在这个发行版本中,我们提供了一个 MBean 接口的实现,即 org.hibernate.jmx.HibernateService

想要看如何在 JBoss 应用服务器上将 Hibernate 部署为一个 JMX 服务的例子,您可以参考《JBoss 用户指南》。如果你使用 JMX 来部署 Hibernate,JBoss AS 也提供如下好处:

  • 会话管理: Hibernate 的 Session 对象的生命周期可以 自动跟一个 JTA 事务边界绑定。这意味着你无需手工开关 Session 了, 这项工作会由 JBoss EJB 拦截器来完成。你再也不用担心你的代码中的事务边界了(除非你想利用 Hibernate 提供可选的 Transaction API 来自己写一个便于移植的的持久层)。你通过调用 HibernateContext 来访问 Session

  • HAR 部署: 通常情况下,你会使用 JBoss 的服务部署描述符(在 EAR 或/和 SAR 文件中)来部署 Hibernate JMX 服务。这种部署方式支持所有常见的 Hibernate SessionFactory 的配置选项。不过,你仍需在部署描述符中,列出你所有的映射文的名字。如果你使用 HAR 部署方式, JBoss 会自动探测出你的 HAR 文件中所有的映射文件。

这些选项更多的描述,请参考 JBoss 应用程序用户指南。

Another feature available as a JMX service is runtime Hibernate statistics. See 第 3.4.6 节 “Hibernate 的统计(statistics)机制” for more information.