11.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.Stoppableinterfaces to receive notifications of being started and stopped. Another optional service contract is
org.hibernate.service.spi.Manageablewhich marks the service as manageable in JMX provided the JMX integration is enabled.