Class UserCodeDeploymentConfig

java.lang.Object
com.hazelcast.config.UserCodeDeploymentConfig

@Deprecated(since="5.4", forRemoval=true) public class UserCodeDeploymentConfig extends Object
Deprecated, for removal: This API element is subject to removal in a future version.
since 5.4, "User Code Deployment" is replaced by the "User Code Namespaces" feature
Configuration of User Code Deployment. When enabled, it allows Hazelcast members to load classes from other cluster members. This simplifies deployment as you do not have to deploy your domain classes into the classpath of all cluster members.
See Also:
  • Constructor Details

    • UserCodeDeploymentConfig

      public UserCodeDeploymentConfig()
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • setEnabled

      public UserCodeDeploymentConfig setEnabled(boolean enabled)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Enable or disable User Code Deployment. Default: false
    • isEnabled

      public boolean isEnabled()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns true if User Code Deployment is enabled
      Returns:
      true when User Code Deployment is enabled
    • setProviderFilter

      public UserCodeDeploymentConfig setProviderFilter(String providerFilter)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Filter to limit members that can be used for classloading request when a user class is not available locally.

      Filter format: HAS_ATTRIBUTE:foo this will send classloading requests only to members which have a member attribute foo set. Attribute value is ignored, it can be of any type, a presence of the attribute is sufficient.

      This facility allows to have a fine-grained control over 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");
      
           HazelcastInstance instance = Hazelcast.newHazelcastInstance(hazelcastConfig);
       

      In the following example, the started member will be marked with the class-provider attribute - the member configured above may use it to provide a class which is not locally available:

       Config hazelcastConfig = new Config();
      
       MemberAttributeConfig memberAttributes = hazelcastConfig.getMemberAttributeConfig();
       memberAttributes.setAttribute("class-provider", "true");
      
       HazelcastInstance instance = Hazelcast.newHazelcastInstance(hazelcastConfig);
       

      Setting the filter to null allows using any member to load classes.

      Default: null

      Returns:
      this instance of UserCodeDeploymentConfig for easy method-chaining
      See Also:
    • getProviderFilter

      public String getProviderFilter()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Get current filter or null when no filter is defined.
      Returns:
      current filter or null when no filter is defined
      See Also:
    • setBlacklistedPrefixes

      public UserCodeDeploymentConfig setBlacklistedPrefixes(String blacklistedPrefixes)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Comma-separated list of class prefixes which will never be loaded remotely. A prefix can be a package name or a class name.

      For example, setting a blacklist prefix to com.foo will disable remote loading of all classes from the com.foo package and its sub-packages. E.g. com.foo.bar.MyClass will be black-listed too.

      The prefix is compared to the class name string. For example, when you set the blacklist to com.foo.Class, the class com.foo.ClassSuffix will be blacklisted too.

      Setting the prefixes to null or to empty string will disable the blacklist.

      Default: null

      Returns:
      this instance of UserCodeDeploymentConfig for easy method-chaining
    • getBlacklistedPrefixes

      public String getBlacklistedPrefixes()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Return currently configured blacklist prefixes.
      Returns:
      currently configured blacklist prefixes
      See Also:
    • setWhitelistedPrefixes

      public UserCodeDeploymentConfig setWhitelistedPrefixes(String whitelistedPrefixes)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Comma-separated list of class prefixes which will be loaded remotely.

      Use this to limit User Code Deployment to selected classes only and disable remote loading for all other classes.

      The prefixes are interpreted using the same rules as described in setBlacklistedPrefixes(String).

      Setting the prefixes to null or empty string will disable the white-list and all non-blacklisted classes will be allowed to load from remote members.

      Returns:
      this instance of UserCodeDeploymentConfig for easy method-chaining
    • getWhitelistedPrefixes

      public String getWhitelistedPrefixes()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Return currently configured whitelist prefixes
      Returns:
      currently configured whitelist prefixes
    • setProviderMode

      public UserCodeDeploymentConfig setProviderMode(UserCodeDeploymentConfig.ProviderMode providerMode)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Configure behaviour when providing classes to remote members.

      Default: UserCodeDeploymentConfig.ProviderMode.LOCAL_AND_CACHED_CLASSES

      Returns:
      this instance of UserCodeDeploymentConfig for easy method-chaining
      See Also:
    • getProviderMode

      public UserCodeDeploymentConfig.ProviderMode getProviderMode()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Return the current ProviderMode
      Returns:
      current ProviderMode
    • setClassCacheMode

      public UserCodeDeploymentConfig setClassCacheMode(UserCodeDeploymentConfig.ClassCacheMode classCacheMode)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Configure caching of classes loaded from remote members.

      Default: UserCodeDeploymentConfig.ClassCacheMode.ETERNAL

      Returns:
      this instance of UserCodeDeploymentConfig for easy method-chaining
      See Also:
    • getClassCacheMode

      public UserCodeDeploymentConfig.ClassCacheMode getClassCacheMode()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Return the current ClassCacheMode
      Returns:
      current ProviderMode
    • equals

      public boolean equals(Object o)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      hashCode in class Object