Package com.hazelcast.spi.tenantcontrol
Interface TenantControlFactory
-
@Beta public interface TenantControlFactory
ATenantControlFactory
suppliesTenantControl
objects when Hazelcast service attaches the tenant control to a distributed object. An implementation ofTenantControlFactory
is instantiated viaServiceLoader
, so in order to be picked up:- Its class name must be stored in a service definition file in
META-INF/services/com.hazelcast.spi.tenantcontrol.TenantControlFactory
- It must have a public no-args constructor
- Its class name must be stored in a service definition file in
-
-
Field Summary
Fields Modifier and Type Field Description static TenantControlFactory
NOOP_TENANT_CONTROL_FACTORY
Default tenant control factory.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
isClassesAlwaysAvailable()
If the method returns false (classes are not always available), all objects, e.g.TenantControl
saveCurrentTenant()
To be called from the application's thread to connect a Hazelcast object with a particular tenant, e.g.
-
-
-
Field Detail
-
NOOP_TENANT_CONTROL_FACTORY
static final TenantControlFactory NOOP_TENANT_CONTROL_FACTORY
Default tenant control factory. Always producesTenantControl.NOOP_TENANT_CONTROL
-
-
Method Detail
-
saveCurrentTenant
TenantControl saveCurrentTenant()
To be called from the application's thread to connect a Hazelcast object with a particular tenant, e.g. JCache-based cache with a particular application Implementor will save the current thread context and return it Further operations from other threads will use the returned context for this particular Hazelcast object to re-establish the invocation context- Returns:
- new TenantControl instance with the saved state of the current tenant
-
isClassesAlwaysAvailable
boolean isClassesAlwaysAvailable()
If the method returns false (classes are not always available), all objects, e.g. CacheConfigs are always sent over the wire in a form that does not require classes to be loaded / available. Objects will be sent using class names instead of class types, and sending byte arrays instead of serialized objects. This is so de-serialization does not fail with ClassNotFoundException- Returns:
- true is the associated applications are always loaded and running
-
-