public class ClusterNode extends Object implements Runnable, NamespaceEventChannel, NodeTypeEventChannel, RecordConsumer, ClusterRecordProcessor, WorkspaceEventChannel, PrivilegeEventChannel
| Modifier and Type | Field and Description |
|---|---|
static String |
SYSTEM_PROPERTY_NODE_ID
System property specifying a node id to use.
|
| Constructor and Description |
|---|
ClusterNode() |
| Modifier and Type | Method and Description |
|---|---|
void |
consume(Record record)
Consume a record.
|
LockEventChannel |
createLockChannel(String workspace)
Create a
LockEventChannel for some workspace. |
UpdateEventChannel |
createUpdateChannel(String workspace)
Create an
UpdateEventChannel for some workspace. |
protected void |
disableAutoSync()
Disable periodic background synchronization.
|
void |
ended(DefaultClusterOperation operation,
boolean successful)
Invoked when a cluster operation has ended.
|
String |
getId()
Return the unique identifier of the records this consumer
will be able to handle.
|
Journal |
getJournal()
Return the journal created by this cluster node.
|
long |
getRevision()
Return the revision this consumer has last seen.
|
long |
getStopDelay()
Return the stop delay.
|
protected void |
init()
Initialize this cluster node (overridable).
|
void |
init(ClusterContext clusterContext)
Initialize this cluster node.
|
void |
process(ChangeLogRecord record)
Process a change log record.
|
void |
process(LockRecord record)
Process a lock record.
|
void |
process(NamespaceRecord record)
Process a namespace record.
|
void |
process(NodeTypeRecord record)
Process a node type record
|
void |
process(PrivilegeRecord record)
Process a privilege record
|
void |
process(WorkspaceRecord record)
Process a workspace record
|
void |
registered(Collection ntDefs)
Called when one or more node types have been registered.
|
void |
registeredPrivileges(Collection<PrivilegeDefinition> definitions) |
void |
remapped(String oldPrefix,
String newPrefix,
String uri)
Called when a namespace has been remapped.
|
void |
reregistered(QNodeTypeDefinition ntDef)
Called when a node types has been re-registered.
|
void |
run()
Run loop that will sync this node after some delay.
|
void |
setListener(NamespaceEventListener listener)
Set listener that will receive information about incoming, external namespace events.
|
void |
setListener(NodeTypeEventListener listener)
Set listener that will receive information about incoming, external node type events.
|
void |
setListener(PrivilegeEventListener listener) |
void |
setListener(WorkspaceListener listener) |
void |
setRevision(long revision)
Set the revision this consumer has last seen.
|
void |
setStopDelay(long stopDelay)
Set the stop delay, i.e.
|
void |
start()
Starts this cluster node.
|
void |
stop()
Stops this cluster node.
|
void |
sync()
Synchronize contents from journal.
|
void |
syncOnStartup()
Synchronize contents from journal when a
ClusterNode starts up. |
void |
unregistered(Collection qnames)
Called when one or more node types have been unregistered.
|
void |
workspaceCreated(String workspaceName,
ClonedInputSource inputSource) |
public static final String SYSTEM_PROPERTY_NODE_ID
public void init(ClusterContext clusterContext) throws ClusterException
clusterContext - The cluster context.ClusterException - if an error occursprotected void init()
throws ClusterException
ClusterException - if an error occurspublic void setStopDelay(long stopDelay)
stopDelay - stop delay in millisecondspublic long getStopDelay()
setStopDelay(long)protected void disableAutoSync()
public void start()
throws ClusterException
ClusterException - if an error occurspublic void run()
public void sync()
throws ClusterException
ClusterException - if an error occurspublic void syncOnStartup()
throws ClusterException
ClusterNode starts up.ClusterException - if an error occurspublic void stop()
public UpdateEventChannel createUpdateChannel(String workspace)
UpdateEventChannel for some workspace.workspace - workspace namepublic LockEventChannel createLockChannel(String workspace)
LockEventChannel for some workspace.workspace - workspace namepublic Journal getJournal()
public void remapped(String oldPrefix, String newPrefix, String uri)
remapped in interface NamespaceEventChanneloldPrefix - old prefix. if null this is a fresh mappingnewPrefix - new prefix. if null this is an unmap operationuri - uri to map prefix topublic void setListener(NamespaceEventListener listener)
NamespaceEventChannelsetListener in interface NamespaceEventChannellistener - namespace event listenerpublic void registered(Collection ntDefs)
registered in interface NodeTypeEventChannelntDefs - collection of node type definitionspublic void reregistered(QNodeTypeDefinition ntDef)
reregistered in interface NodeTypeEventChannelntDef - node type definitionpublic void unregistered(Collection qnames)
unregistered in interface NodeTypeEventChannelqnames - collection of node type qnamespublic void setListener(NodeTypeEventListener listener)
setListener in interface NodeTypeEventChannellistener - node type event listenerpublic void registeredPrivileges(Collection<PrivilegeDefinition> definitions)
registeredPrivileges in interface PrivilegeEventChannelPrivilegeEventChannel.registeredPrivileges(java.util.Collection)public void setListener(PrivilegeEventListener listener)
setListener in interface PrivilegeEventChannelpublic String getId()
getId in interface RecordConsumerpublic long getRevision()
getRevision in interface RecordConsumerpublic void consume(Record record)
consume in interface RecordConsumerrecord - record to consumepublic void setRevision(long revision)
setRevision in interface RecordConsumerrevision - revisionpublic void process(ChangeLogRecord record)
process in interface ClusterRecordProcessorrecord - change log recordpublic void process(LockRecord record)
process in interface ClusterRecordProcessorrecord - lock recordpublic void process(NamespaceRecord record)
process in interface ClusterRecordProcessorrecord - namespace recordpublic void process(NodeTypeRecord record)
process in interface ClusterRecordProcessorrecord - node type recordpublic void process(PrivilegeRecord record)
ClusterRecordProcessorprocess in interface ClusterRecordProcessorrecord - privilege recordpublic void process(WorkspaceRecord record)
ClusterRecordProcessorprocess in interface ClusterRecordProcessorrecord - workspace recordpublic void setListener(WorkspaceListener listener)
setListener in interface WorkspaceEventChannelpublic void workspaceCreated(String workspaceName, ClonedInputSource inputSource)
workspaceCreated in interface WorkspaceEventChannelpublic void ended(DefaultClusterOperation operation, boolean successful)
successful,
attempts to fill the journal record and update it, otherwise cancels
the update.operation - cluster operationsuccessful - true if the operation was successful and
the journal record should be updated;
false to revoke changesCopyright © 2004–2022 The Apache Software Foundation. All rights reserved.