public class ServerSOContainer extends SOContainer implements ISharedObjectContainerGroupManager
| Modifier and Type | Field and Description |
|---|---|
protected IConnectHandlerPolicy |
connectHandlerPolicy |
config, DEFAULT_OBJECT_ARG_KEY, DEFAULT_OBJECT_ARGTYPES_KEY, groupManager, isClosing, loadingThreadGroup, policy, receiver, sharedObjectManager, sharedObjectMessageSerializer, sharedObjectThreadGroup| Constructor and Description |
|---|
ServerSOContainer(ISharedObjectContainerConfig config) |
| Modifier and Type | Method and Description |
|---|---|
protected ContainerMessage |
acceptNewClient(Socket socket,
String target,
Serializable data,
ISynchAsynchConnection conn) |
protected Object |
checkJoin(SocketAddress saddr,
ID fromID,
String target,
Serializable data) |
void |
connect(ID groupID,
IConnectContext joinContext)
Connect to a target remote process or process group.
|
void |
disconnect()
Disconnect.
|
void |
dispose()
Dispose this IContainer instance.
|
void |
ejectAllGroupMembers(Serializable reason)
Eject all, for the given reason.
|
void |
ejectGroupMember(ID memberID,
Serializable reason)
Eject the given groupMemberID from the current group of containers, for
the given reason.
|
protected void |
forwardExcluding(ID from,
ID excluding,
ContainerMessage data) |
protected void |
forwardToRemote(ID from,
ID to,
ContainerMessage data) |
ID |
getConnectedID()
Get the target ID that this container instance has connected to.
|
protected IAsynchConnection |
getConnectionForID(ID memberID) |
protected ID |
getIDForConnection(IAsynchConnection conn) |
protected ISynchConnection |
getSynchConnectionForID(ID memberID) |
protected void |
handleLeaveGroupMessage(ContainerMessage mess) |
protected void |
handleViewChangeMessage(ContainerMessage mess) |
boolean |
isGroupManager() |
protected void |
processDisconnect(DisconnectEvent e) |
protected void |
queueContainerMessage(ContainerMessage message) |
void |
setConnectPolicy(IConnectHandlerPolicy policy)
Set the join policy for this group manager.
|
addNewRemoteMember, addSharedObject0, addSharedObjectAndWait, addSharedObjectWrapper, addToLoading, checkRemoteCreate, createContainerPropertiesForSharedObject, createRemoteSharedObjectConfig, createRemoteSharedObjectContext, createRemoteSharedObjectWrapper, createSharedObjectConfig, createSharedObjectContext, createSharedObjectWrapper, debug, defaultDeserializeSharedObjectMessage, defaultSerializeSharedObjectMessage, deserializeContainerMessage, deserializeSharedObjectMessage, destroySharedObject, disconnect, fireDelegateContainerEvent, forward, getAdapter, getArgsFromProperties, getArgTypesFromProperties, getClassLoaderForContainer, getClassLoaderForSharedObject, getConfig, getConnectNamespace, getGroupMemberIDs, getGroupMembershipLock, getID, getMaxGroupMembers, getMessageReceiver, getNewSharedObjectThread, getNextSequenceNumber, getOtherMemberIDs, getReceiver, getSharedObject, getSharedObjectIDs, getSharedObjectManager, getSharedObjectMessageSerializer, getSharedObjectWrapper, handleAsynchIOException, handleCreateMessage, handleCreateResponseMessage, handleLeave, handleSharedObjectDisposeMessage, handleSharedObjectMessage, handleUndeliveredSharedObjectMessage, handleUnidentifiedMessage, isClosing, load, moveFromLoadingToActive, notifySharedObjectActivated, notifySharedObjectDeactivated, printToSystemError, processAsynch, processSynch, removeFromLoading, removeRemoteMember, removeSharedObject, sendCreate, sendCreateResponse, sendCreateResponseSharedObjectMessage, sendCreateSharedObjectMessage, sendDispose, sendDisposeSharedObjectMessage, sendMessage, sendMessage, sendSharedObjectMessage, serialize, serializeSharedObjectMessage, setMaxGroupMembers, setRemoteAddPolicy, setSharedObjectMessageSerializer, traceStack, validateContainerMessage, verifySharedObjectMessageTarget, verifyToIDForSharedObjectMessageaddListener, fireContainerEvent, getPasswordFromConnectContext, removeListenerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddListener, removeListenerprotected IConnectHandlerPolicy connectHandlerPolicy
public ServerSOContainer(ISharedObjectContainerConfig config)
public boolean isGroupManager()
isGroupManager in interface IReliableContainerisGroupManager in class SOContainerpublic ID getConnectedID()
IContainergetConnectedID in interface IContainergetConnectedID in class SOContainernull
if container not connected.public void disconnect()
IContainernull.disconnect in interface IContainerdisconnect in class SOContainerpublic void ejectGroupMember(ID memberID, Serializable reason)
ISharedObjectContainerGroupManagerejectGroupMember in interface ISharedObjectContainerGroupManagermemberID - the ID of the group member to eject. If null, or if group
member is not in group managed by this object, the method has
no effectreason - a reason for the ejectionpublic void ejectAllGroupMembers(Serializable reason)
ISharedObjectContainerGroupManagerejectAllGroupMembers in interface ISharedObjectContainerGroupManagerreason - a reason for the ejectionpublic void dispose()
IContainerdispose in interface IContainerdispose in class SOContainerpublic void connect(ID groupID, IConnectContext joinContext) throws ContainerConnectException
IContainerconnect in interface IContainerconnect in class SOContainergroupID - the ID of the remote server or group to connect to. See
IContainer.getConnectNamespace() for a explanation of the
constraints upon this parameter.joinContext - any required context to allow this container to authenticate.
May be null if underlying provider does not
have any authentication requirements for connection.ContainerConnectException - thrown if communication cannot be established with remote
service. Causes can include network connection failure,
authentication failure, server error, or if container is
already connected.public void setConnectPolicy(IConnectHandlerPolicy policy)
ISharedObjectContainerGroupManagersetConnectPolicy in interface ISharedObjectContainerGroupManagerprotected void queueContainerMessage(ContainerMessage message) throws IOException
queueContainerMessage in class SOContainerIOExceptionprotected void forwardToRemote(ID from, ID to, ContainerMessage data) throws IOException
forwardToRemote in class SOContainerIOExceptionprotected void forwardExcluding(ID from, ID excluding, ContainerMessage data) throws IOException
forwardExcluding in class SOContainerIOExceptionprotected void handleViewChangeMessage(ContainerMessage mess) throws IOException
handleViewChangeMessage in class SOContainermess - messageIOException - not thrown by this implementation.protected ContainerMessage acceptNewClient(Socket socket, String target, Serializable data, ISynchAsynchConnection conn)
protected Object checkJoin(SocketAddress saddr, ID fromID, String target, Serializable data) throws Exception
Exceptionprotected void handleLeaveGroupMessage(ContainerMessage mess)
handleLeaveGroupMessage in class SOContainermess - leave group messageprotected ID getIDForConnection(IAsynchConnection conn)
getIDForConnection in class SOContainerprotected IAsynchConnection getConnectionForID(ID memberID)
protected ISynchConnection getSynchConnectionForID(ID memberID)
protected void processDisconnect(DisconnectEvent e)
processDisconnect in class SOContainerCopyright © 2004–2020 Eclipse Foundation. All rights reserved.