@PrivateApi public final class NodeExtensionFactory extends Object
Modifier and Type | Method and Description |
---|---|
static NodeExtension |
create(Node node,
List<String> extensionPriorityList)
Uses the Hazelcast ServiceLoader to discover all registered
NodeExtension classes and identify the one to instantiate and use as
the provided node 's extension. |
public static NodeExtension create(Node node, List<String> extensionPriorityList)
NodeExtension
classes and identify the one to instantiate and use as
the provided node
's extension. It chooses the class based on
the provided priority list of class names, these are the rules:
The dynamic selection of the node extension allows Hazelcast Enterprise's JAR to be swapped in for the core Hazelcast JAR with no changes to user's code or configuration. Hazelcast core code can call this method with a priority list naming both the default and the enterprise node extension and it will automatically prefer the Enterprise one when present.
The explicit priority list is necessary because a Hazelcast Jet JAR contains both the default node extension and the Jet node extension, but the one to choose depends on whether the user is requesting to start an IMDG or a Jet instance.
node
- Hazelcast node whose extension this method must provideextensionPriorityList
- priority list of fully qualified extension class namesCopyright © 2020 Hazelcast, Inc.. All Rights Reserved.