Since the DiscoveryStrategy
is meant for cloud vendors or implementors of service discovery systems, the DiscoveryService
is meant for integrators. In this case, integrators means people integrating Hazelcast into their own systems or frameworks. In those situations, there are sometimes special requirements on how to lookup framework services like the discovery strategies or similar services. Integrators can extend or implement their own DiscoveryService
and DiscoveryServiceProvider
and inject it using the Hazelcast Config API (com.hazelcast.config.DiscoveryConfig
) prior to instantiating the HazelcastInstance
. In any case, integrators might have to remember that a DiscoveryService
might have to change behavior based on the runtime environment (Hazelcast member or client), and then the DiscoveryServiceSettings
should provide information about the started HazelcastInstance
.
Since the implementation heavily depends on one's needs, there is no reason to provide an example of how to implement your own DiscoveryService
. However, Hazelcast provides a default implementation which can be a good example to get started. This default implementation is com.hazelcast.spi.discovery.impl.DefaultDiscoveryService
.