Modifier and Type | Class and Description |
---|---|
static class |
UserCodeDeploymentConfig.ClassCacheMode
Controls caching of caches loaded from remote members
|
static class |
UserCodeDeploymentConfig.ProviderMode
Controls how to react on receiving a classloading request from a remote member
|
Constructor and Description |
---|
UserCodeDeploymentConfig() |
Modifier and Type | Method and Description |
---|---|
String |
getBlacklistedPrefixes()
Return currently configured blacklist prefixes.
|
UserCodeDeploymentConfig.ClassCacheMode |
getClassCacheMode()
Return the current ClassCacheMode
|
String |
getProviderFilter()
Get current filter or {
null } when no filter is defined. |
UserCodeDeploymentConfig.ProviderMode |
getProviderMode()
Return the current ProviderMode
|
String |
getWhitelistedPrefixes()
Return currently configured whitelist prefixes
|
boolean |
isEnabled()
Returns true when User Code Deployment is enabled
|
UserCodeDeploymentConfig |
setBlacklistedPrefixes(String blacklistedPrefixes)
Comma separated list of prefixes of classes which will never be loaded remotely.
|
UserCodeDeploymentConfig |
setClassCacheMode(UserCodeDeploymentConfig.ClassCacheMode classCacheMode)
Configure caching of classes loaded from remote members.
|
UserCodeDeploymentConfig |
setEnabled(boolean enabled)
Enable or disable User Code Deployment.
|
UserCodeDeploymentConfig |
setProviderFilter(String providerFilter)
Filter to constraint members to be used for classloading request when a user class
is not available locally.
|
UserCodeDeploymentConfig |
setProviderMode(UserCodeDeploymentConfig.ProviderMode providerMode)
Configure behaviour when providing classes to remote members.
|
UserCodeDeploymentConfig |
setWhitelistedPrefixes(String whitelistedPrefixes)
Comma separated list of prefixes of classes which will be loaded remotely.
|
public UserCodeDeploymentConfig setEnabled(boolean enabled)
false
}enabled
- public boolean isEnabled()
true
} when User Code Deployment is enabledpublic UserCodeDeploymentConfig setProviderFilter(String providerFilter)
HAS_ATTRIBUTE:foo
this will send classloading requests
only to members which has a member attribute foo
set. Value is ignored,
it can be any type. A present of the attribute is sufficient.
This facility allows to have a fine grained control on classloading. You can e.g. start Hazelcast lite
members dedicated for class-serving.
Example usage:
This member will load classes only from members with the class-provider
attribute set.
It won't ask any other member to provide a locally unavailable class:
Config hazelcastConfig = new Config();
UserCodeDeploymentConfig userCodeDeploymentConfig = hazelcastConfig.getUserCodeDeploymentConfig();
userCodeDeploymentConfig.setProviderFilter(HAS_ATTRIBUTE:class-provider);
HazecastInstance instance = Hazelcast.newHazelcastInstance(hazelcastConfig);
This member is marked with the class-provider
attribute - the member configured above may him
it to provide a class which is not locally available:
Config hazelcastConfig = new Config();
MemberAttributeConfig memberAttributes = hazelcastConfig.getMemberAttributeConfig();
memberAttributes.setAttribute("class-provider", "true");
HazecastInstance instance = Hazelcast.newHazelcastInstance(hazelcastConfig);
Setting the filter to null will allow to load classes from all members.
Default: {null
}providerFilter
- com.hazelcast.core.Member#setStringAttribute(String, String)}
public String getProviderFilter()
null
} when no filter is defined.null
} when no filter is defined.setProviderFilter(String)
public UserCodeDeploymentConfig setBlacklistedPrefixes(String blacklistedPrefixes)
com.foo
will disable remote loading of all classes
from the com.foo
package, but also classes from all sub-packages won't be loaded.
Eg. com.foo.bar.MyClass
will be black-listed too.
When you set the blacklist to com.foo.Class
then the Class will obviously be black-listed,
but a class com.foo.ClassSuffix
will be blacklisted too.
Setting the prefixes to {null
} will disable the blacklist
Default: {null
}blacklistedPrefixes
- public String getBlacklistedPrefixes()
setBlacklistedPrefixes(String)
public UserCodeDeploymentConfig setWhitelistedPrefixes(String whitelistedPrefixes)
setBlacklistedPrefixes(String)
}
Setting the prefix to {null
} will disable the white-list and all non-blacklisted classes will be allowed
to load from remote members.whitelistedPrefixes
- public String getWhitelistedPrefixes()
public UserCodeDeploymentConfig setProviderMode(UserCodeDeploymentConfig.ProviderMode providerMode)
UserCodeDeploymentConfig.ProviderMode.LOCAL_AND_CACHED_CLASSES
providerMode
- ProviderMode}
public UserCodeDeploymentConfig.ProviderMode getProviderMode()
public UserCodeDeploymentConfig setClassCacheMode(UserCodeDeploymentConfig.ClassCacheMode classCacheMode)
UserCodeDeploymentConfig.ClassCacheMode.ETERNAL
classCacheMode
- ClassCacheMode}
public UserCodeDeploymentConfig.ClassCacheMode getClassCacheMode()
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.