12.5.2. About Service Contracts
The basic requirement for a service is to implement the marker interface
org.hibernate.service.Service
. Hibernate uses this internally for some basic type safety.
Optionally, the service can also implement the
org.hibernate.service.spi.Startable
and org.hibernate.service.spi.Stoppable
interfaces to receive notifications of being started and stopped. Another optional service contract is org.hibernate.service.spi.Manageable
which marks the service as manageable in JMX provided the JMX integration is enabled.