Hazelcast-Based Discovery Provider
A new ECF discovery provider has been created (September 15, 2019), based upon the Hazelcast communications library. See the Hazelcast website for technical specifics about Hazelcast and configuration and API documentation.
Getting Hazelcast Discovery Provider
The Hazelcast ECF Discovery provider repository is here.
A binary build of the Hazelcast Discovery Provider and Hazelcast Distribution Provider are available here.
Karaf features for both Hazelcast discovery and Hazelcast distribution are available via karaf-features.xml. The URL for these Karaf features is https://raw.githubusercontent.com/ECF/HazelcastProvider/master/build/karaf-features.xml.
Hazelcast Discovery Provider Configuration Properties
The ECF Hazelcast Discovery Provider is configured via two system properties.
|System Property Name||Description||Type||Default value|
|ecf.discovery.hazelcast.configURL|| File to use for Hazelcast group configuration for remote service discovery. In addition to normal URLs such as http://host.com/path/to/hazelcast.xml, or https://securehost.com/path/to/myhazelcast.xml, this property supports a values with a 'bundle' protocol to allow references Hazelcast config files from within other bundles within a given framework.
For example: -Decf.discovery.hazelcast.configURL=bundle:my.org.bundle.symbolic.name/path/to/hc-config-file.xml. If given as the value of this property, at discovery start time, the bundle my.org.bundle.symbolic.name (highest version if multiple versions are present) will be consulted and the contents of an entry with the path /path/to/hc-config-file.xml within the bundle will be read and used as for the Hazelcast discovery config.
|String||Uses file with URL: bundle:org.eclipse.ecf.discovery.provider.hazelcast/hc-discovery-config.xml as default discovery config. This config uses Hazelcast multicast group: 220.127.116.11 and port: 54327. See here for contents of the entire default config. Note that the in any config, a replicated map named 'default' must be present and configured for the discovery provider to function.|
|ecf.discovery.hazelcast.enabled||Flag to enable/disable Hazelcast Discovery via bundle org.eclipse.ecf.discovery.provider.hazelcast. True/enabled by default. Setting system property to anything other than 'true' will disable the ECF Hazelcast Discovery provider.||Boolean||true|
Note that the defaults for these properties and the code for reading and and processing these values are defined here.