JMX is the J2EE standard for management of Java components. Hibernate may be managed via
a JMX standard service. We provide an MBean implementation in the distribution,
org.hibernate.jmx.HibernateService
.
For an example how to deploy Hibernate as a JMX service on the JBoss Application Server, please see the JBoss User Guide. On JBoss AS, you also get these benefits if you deploy using JMX:
Session Management: The Hibernate Session
's life cycle
can be automatically bound to the scope of a JTA transaction. This means you no
longer have to manually open and close the Session
, this
becomes the job of a JBoss EJB interceptor. You also don't have to worry about
transaction demarcation in your code anymore (unless you'd like to write a portable
persistence layer of course, use the optional Hibernate Transaction
API for this). You call the HibernateContext
to access a
Session
.
HAR deployment: Usually you deploy the Hibernate JMX service using a JBoss
service deployment descriptor (in an EAR and/or SAR file), it supports all the usual
configuration options of a Hibernate SessionFactory
. However, you still
have to name all your mapping files in the deployment descriptor. If you decide to use
the optional HAR deployment, JBoss will automatically detect all mapping files in your
HAR file.
Consult the JBoss AS user guide for more information about these options.
Another feature available as a JMX service are runtime Hibernate statistics. See Section 3.4.6, “Hibernate statistics”.