Design
HazelcastOSGiService
is specific to each Hazelcast bundle. This means that
every Hazelcast bundle has its own HazelcastOSGiService
instance.
Every Hazelcast bundle registers its HazelcastOSGiService
instances via
Hazelcast Bundle Activator (com.hazelcast.osgi.impl.Activator
) while they are being started,
and it deregisters its HazelcastOSGiService
instances while they are being stopped.
Each HazelcastOSGiService
instance has a different service ID as the combination of
Hazelcast version and artifact type (OSS
or EE
). Examples are 3.6#OSS
, 3.6#EE
, 3.7#OSS
, 3.7#EE
, etc.
HazelcastOSGiService
instance lifecycle is the same with the owner Hazelcast bundle.
This means that when the owner bundle is deactivated, the owned HazelcastOSGiService
instance is
deactivated, and all active Hazelcast instances that are created and served by
that HazelcastOSGiService
instance are also shutdown and deregistered.
When the Hazelcast bundle is re-activated, its HazelcastOSGiService
instance is registered again as the OSGI service.