Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Hazelcast-Based Discovery Provider"

(Created page with "A new ECF discovery provider has been created, based upon the [http://hazelcast.com Hazelcast] communications library. See the [http://hazelcast.org Hazelcast website] for sp...")
 
(Hazelcast Discovery Provider Configuration Properties)
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
A new ECF discovery provider has been created, based upon the [http://hazelcast.com Hazelcast] communications library.  See the [http://hazelcast.org Hazelcast website] for specifics.
+
A new ECF discovery provider has been created (September 15, 2019), based upon the [http://hazelcast.com Hazelcast] communications library.  See the [http://hazelcast.org Hazelcast website] for technical specifics about Hazelcast and configuration and API documentation.
  
 
==Getting Hazelcast Discovery Provider==
 
==Getting Hazelcast Discovery Provider==
  
The ECF Hazelcast Discovery Provider is currently available as one of [https://github.com/ECF ECF's github repositories].  The Hazelcast provider repository is [https://github.com/ECF/HazelcastProvider here].   
+
The Hazelcast ECF Discovery provider repository is [https://github.com/ECF/HazelcastProvider here].   
  
 
A binary build of the Hazelcast Discovery Provider '''and''' Hazelcast Distribution Provider are available [https://github.com/ECF/HazelcastProvider/build here].   
 
A binary build of the Hazelcast Discovery Provider '''and''' Hazelcast Distribution Provider are available [https://github.com/ECF/HazelcastProvider/build here].   
Line 9: Line 9:
 
===Karaf Install===
 
===Karaf Install===
  
A Karaf features file [https://raw.githubusercontent.com/ECF/HazelcastProvider/master/build/karaf-features.xml karaf-features.xml] (with both Distribution and Discovery features) is available in karaf-features.xml.
+
Karaf features for both Hazelcast discovery and Hazelcast distribution are available via [https://raw.githubusercontent.com/ECF/HazelcastProvider/master/build/karaf-features.xml 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==
 
==Hazelcast Discovery Provider Configuration Properties==
  
The ECF Hazelcast Discovery Provider is configured via system properties.  Here is a table of the Hazelcast Discovery Provider configuration system property properties and their default values:
+
The ECF Hazelcast Discovery Provider is configured via two system properties.   
 
+
 
{|{{BMTableStyle}}
 
{|{{BMTableStyle}}
 
|-{{BMTHStyle}}
 
|-{{BMTHStyle}}
! Property Name
+
! System Property Name
 
! Description
 
! Description
 
! Type
 
! Type
 
! Default value
 
! Default value
 
|-
 
|-
| ecf.discovery.hazelcast.configURL
+
| '''ecf.discovery.hazelcast.configURL'''
| Xml config file to config ECF Discovery Hazelcast group. Examplefile:///path//to/hazelcast.xml
+
| 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. <br>
 +
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.  <br>
 +
NOTE:  For discovery to work, each node must use the same Hazelcast discovery config.
 
| String
 
| String
| None - If not specified, uses file '''/hazelcast.xml''' file inside of bundle '''org.eclipse.ecf.discovery.provider.hazelcast''', which uses Hazelcast multicast group:  '''224.2.2.5''' and port:  '''54327'''.  See [https://github.com/ECF/HazelcastProvider/blob/master/bundles/org.eclipse.ecf.discovery.provider.hazelcast/hazelcast.xml here] for entire default HC config file.   
+
| Uses file with URL: '''bundle:org.eclipse.ecf.discovery.provider.hazelcast/hc-discovery-config.xml''' as default discovery config.  [https://github.com/ECF/HazelcastProvider/blob/master/bundles/org.eclipse.ecf.discovery.provider.hazelcast/hc-discovery-config.xml This config] uses Hazelcast multicast group:  '''224.2.2.5''' and port:  '''54327'''.  See [https://github.com/ECF/HazelcastProvider/blob/master/bundles/org.eclipse.ecf.discovery.provider.hazelcast/hc-discovery-config.xml 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
 
| ecf.discovery.hazelcast.enabled
| Flag to enable/disable Hazelcast Discovery via bundle '''org.eclipse.ecf.discovery.provider.hazelcast'''.  True by default.  Setting system property to anything other than 'true' will disable the ECF Hazelcast Discovery provider.
+
| 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
 
| Boolean
 
| true
 
| true
Line 34: Line 35:
 
|}
 
|}
  
Note that these values and defaults are also defined in the source code in the '''org.eclipse.ecf.provider.internal.jms.hazelcast.Activator''' class available at githhub [https://github.com/ECF/HazelcastProvider/blob/master/bundles/org.eclipse.ecf.discovery.provider.hazelcast/src/org/eclipse/ecf/discovery/provider/hazelcast/Activator.java here].
+
Note that the defaults for these properties and the code for reading and and processing these values are defined [https://github.com/ECF/HazelcastProvider/blob/master/bundles/org.eclipse.ecf.discovery.provider.hazelcast/src/org/eclipse/ecf/discovery/provider/hazelcast/Activator.java here].

Latest revision as of 00:14, 15 October 2019

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 Install

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.
NOTE: For discovery to work, each node must use the same 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: 224.2.2.5 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.

Back to the top