Package com.hazelcast.spi.tenantcontrol
Interface TenantControlFactory
@Beta public interface TenantControlFactory
A
TenantControlFactory
supplies TenantControl
objects when
Hazelcast service attaches the tenant control to a distributed object.
An implementation of TenantControlFactory
is instantiated
via ServiceLoader
, 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
-
Field Summary
Fields Modifier and Type Field Description static TenantControlFactory
NOOP_TENANT_CONTROL_FACTORY
Default tenant control factory. -
Method Summary
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 Details
-
NOOP_TENANT_CONTROL_FACTORY
Default tenant control factory. Always producesTenantControl.NOOP_TENANT_CONTROL
-
-
Method Details
-
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
-