@PrivateApi public class DefaultNodeExtension extends Object implements NodeExtension
| Modifier and Type | Field and Description |
|---|---|
protected List<ClusterVersionListener> |
clusterVersionListeners |
protected ILogger |
logger |
protected Node |
node |
protected ILogger |
systemLogger |
| Constructor and Description |
|---|
DefaultNodeExtension(Node node) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterStart()
Called after node is started
|
void |
beforeJoin()
Called before node attempts to join to the cluster
|
void |
beforeShutdown()
Called before Node.shutdown()
|
void |
beforeStart()
Called before node is started
|
Map<String,Object> |
createExtensionServices()
Creates additional extension services, which will be registered by
service manager during start-up.
|
String |
createMemberUuid(Address address)
Creates a UUID for local member
|
ReadHandler |
createReadHandler(TcpIpConnection connection,
IOService ioService)
Creates a ReadHandler for given Connection instance.
|
InternalSerializationService |
createSerializationService()
Creates a SerializationService instance to be used by this Node.
|
<T> T |
createService(Class<T> clazz)
Creates a service which is an implementation of given type parameter.
|
WriteHandler |
createWriteHandler(TcpIpConnection connection,
IOService ioService)
Creates a WriteHandler for given Connection instance.
|
ClusterHotRestartStatusDTO |
getCurrentClusterHotRestartStatus()
Returns latest Hot Restart status as Management Center DTO.
|
Set<String> |
getExcludedMemberUuids()
Returns uuids of the members that have been excluded during the cluster start.
|
HotRestartService |
getHotRestartBackupService()
Returns the hot restart data backup service or null if Hot Restart backup is not available (not EE) or not enabled
|
MemberSocketInterceptor |
getMemberSocketInterceptor()
Returns MemberSocketInterceptor for this Node if available,
otherwise returns null.
|
MemoryStats |
getMemoryStats()
Returns MemoryStats of for the JVM and current HazelcastInstance.
|
protected PartitioningStrategy |
getPartitioningStrategy(ClassLoader configClassLoader) |
SecurityContext |
getSecurityContext()
Returns SecurityContext for this Node if available, otherwise returns null.
|
SocketChannelWrapperFactory |
getSocketChannelWrapperFactory()
Returns SocketChannelWrapperFactory instance to be used by this Node.
|
void |
handleExcludedMemberUuids(Address sender,
Set<String> excludedMemberUuids)
Handles the uuid set of excluded members only if this member is also excluded, and triggers the member force start process.
|
boolean |
isMemberExcluded(Address memberAddress,
String memberUuid)
Checks if the given member has been excluded during the cluster start or not.
|
boolean |
isNodeVersionCompatibleWith(ClusterVersion clusterVersion)
Check if this node's codebase version is compatible with given cluster version.
|
boolean |
isStartCompleted()
Returns true if the instance has started
|
void |
onClusterStateChange(ClusterState newState,
boolean isTransient)
Called when cluster state is changed
|
void |
onClusterVersionChange(ClusterVersion newVersion)
Called after cluster version is changed.
|
void |
onPartitionStateChange()
Called when partition state (partition assignments, version etc) changes
|
void |
onThreadStart(Thread thread)
Called on thread start to inject/intercept extension specific logic,
like; registering thread in some service,
executing a special method before thread starts to do its own task.
|
void |
onThreadStop(Thread thread)
Called before a thread stops to clean/release injected by
NodeExtension.onThreadStart(Thread). |
void |
printNodeInfo()
Called to print node information during startup
|
boolean |
registerListener(Object listener)
Registers given listener if it's a known type.
|
void |
resetHotRestartData()
Resets local hot restart data and gets a new uuid, if the local node hasn't completed the start process and
it is excluded in cluster start.
|
void |
shutdown()
Shutdowns NodeExtension.
|
boolean |
triggerForceStart()
Forces node to start by skipping hot-restart completely and removing all hot-restart data
even if node is still on validation phase or loading hot-restart data.
|
boolean |
triggerPartialStart()
Triggers partial start if the cluster cannot be started with full recovery and
HotRestartPersistenceConfig.clusterDataRecoveryPolicy is set accordingly. |
void |
validateJoinRequest(JoinMessage joinMessage)
Executed on the master node before allowing a new member to join from
ClusterJoinManager.handleJoinRequest(JoinRequest, Connection). |
protected final Node node
protected final ILogger logger
protected final ILogger systemLogger
protected final List<ClusterVersionListener> clusterVersionListeners
public DefaultNodeExtension(Node node)
public void beforeStart()
NodeExtensionbeforeStart in interface NodeExtensionpublic void printNodeInfo()
NodeExtensionprintNodeInfo in interface NodeExtensionpublic void beforeJoin()
NodeExtensionbeforeJoin in interface NodeExtensionpublic void afterStart()
NodeExtensionafterStart in interface NodeExtensionpublic boolean isStartCompleted()
NodeExtensionisStartCompleted in interface NodeExtensionpublic SecurityContext getSecurityContext()
NodeExtensiongetSecurityContext in interface NodeExtensionpublic InternalSerializationService createSerializationService()
NodeExtensioncreateSerializationService in interface NodeExtensionprotected PartitioningStrategy getPartitioningStrategy(ClassLoader configClassLoader) throws Exception
Exceptionpublic <T> T createService(Class<T> clazz)
NodeExtensioncreateService in interface NodeExtensionclazz - type of servicepublic Map<String,Object> createExtensionServices()
NodeExtensioncreateExtensionServices in interface NodeExtensionpublic MemberSocketInterceptor getMemberSocketInterceptor()
NodeExtensiongetMemberSocketInterceptor in interface NodeExtensionpublic SocketChannelWrapperFactory getSocketChannelWrapperFactory()
NodeExtensiongetSocketChannelWrapperFactory in interface NodeExtensionpublic ReadHandler createReadHandler(TcpIpConnection connection, IOService ioService)
NodeExtensioncreateReadHandler in interface NodeExtensionconnection - tcp-ip connectionioService - IOServicepublic WriteHandler createWriteHandler(TcpIpConnection connection, IOService ioService)
NodeExtensioncreateWriteHandler in interface NodeExtensionconnection - tcp-ip connectionioService - IOServicepublic void onThreadStart(Thread thread)
NodeExtensiononThreadStart in interface NodeExtensionthread - thread startingpublic void onThreadStop(Thread thread)
NodeExtensionNodeExtension.onThreadStart(Thread).onThreadStop in interface NodeExtensionthread - thread stoppingpublic MemoryStats getMemoryStats()
NodeExtensiongetMemoryStats in interface NodeExtensionpublic void beforeShutdown()
NodeExtensionbeforeShutdown in interface NodeExtensionpublic void shutdown()
NodeExtensionshutdown in interface NodeExtensionpublic void validateJoinRequest(JoinMessage joinMessage)
NodeExtensionClusterJoinManager.handleJoinRequest(JoinRequest, Connection).
Implementation should check if the JoinMessage should be allowed to proceed, otherwise throw an exception
with a message explaining rejection reason.validateJoinRequest in interface NodeExtensionpublic void onClusterStateChange(ClusterState newState, boolean isTransient)
NodeExtensiononClusterStateChange in interface NodeExtensionnewState - new stateisTransient - status of the change. A cluster state change may be transient if it has been done temporarily
during system operations such cluster start etc.public void onPartitionStateChange()
NodeExtensiononPartitionStateChange in interface NodeExtensionpublic void onClusterVersionChange(ClusterVersion newVersion)
NodeExtensiononClusterVersionChange in interface NodeExtensionnewVersion - the new version at which the cluster operates.public boolean isNodeVersionCompatibleWith(ClusterVersion clusterVersion)
NodeExtensionisNodeVersionCompatibleWith in interface NodeExtensionclusterVersion - the cluster version to check againsttrue if compatible, otherwise false.public boolean registerListener(Object listener)
NodeExtensionregisterListener in interface NodeExtensionlistener - listener instancepublic boolean triggerForceStart()
NodeExtensiontriggerForceStart in interface NodeExtensionpublic boolean triggerPartialStart()
NodeExtensionHotRestartPersistenceConfig.clusterDataRecoveryPolicy is set accordingly.triggerPartialStart in interface NodeExtensionpublic HotRestartService getHotRestartBackupService()
NodeExtensiongetHotRestartBackupService in interface NodeExtensionpublic String createMemberUuid(Address address)
NodeExtensioncreateMemberUuid in interface NodeExtensionaddress - address of local memberpublic boolean isMemberExcluded(Address memberAddress, String memberUuid)
NodeExtensionisMemberExcluded in interface NodeExtensionmemberAddress - address of the member to checkmemberUuid - uuid of the member to checkpublic Set<String> getExcludedMemberUuids()
NodeExtensiongetExcludedMemberUuids in interface NodeExtensionpublic void handleExcludedMemberUuids(Address sender, Set<String> excludedMemberUuids)
NodeExtensionhandleExcludedMemberUuids in interface NodeExtensionsender - the member that has sent the excluded members setexcludedMemberUuids - uuids of the members that have been excluded during the cluster startpublic ClusterHotRestartStatusDTO getCurrentClusterHotRestartStatus()
NodeExtensiongetCurrentClusterHotRestartStatus in interface NodeExtensionpublic void resetHotRestartData()
NodeExtensionresetHotRestartData in interface NodeExtensionCopyright © 2016 Hazelcast, Inc.. All Rights Reserved.