|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.resoa.node.core.ResoaBaseGateway
org.resoa.node.core.ResoaServiceGateway
org.resoa.node.core.ResoaControllerGateway
public class ResoaControllerGateway
ResoaControllerGateway class for controller specific behavior. Some principles of controllers:
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.resoa.grid.ResoaGateway |
|---|
org.resoa.grid.ResoaGateway.ControllerGateway, org.resoa.grid.ResoaGateway.GatewayRunner |
| Field Summary |
|---|
| Fields inherited from class org.resoa.node.core.ResoaServiceGateway |
|---|
deployedServices, lockServices |
| Fields inherited from class org.resoa.node.core.ResoaBaseGateway |
|---|
executionExceptions, gatewayRunner, initialControllers, localProfile, lockConnection, lockNodeState, lockResoaUpdate, logger, nodeDomains, nodeType, pendingMessages, permissionExceptions, properties, rcl, requestExceptions, running, security, sessionExceptions, stack |
| Fields inherited from interface org.resoa.grid.ResoaGateway |
|---|
DOMAIN_PERSISTENCE, DOMAIN_TOPOLOGY, PROP_CONTROLLERDATAPATH, RESOAINFO_FILE, ResoaNodeTimeout, ROLE_CONTROLLER, ROLE_GRID, STACKCONFIG_FILE |
| Constructor Summary | |
|---|---|
ResoaControllerGateway()
Default constructor |
|
ResoaControllerGateway(java.lang.String configPath)
Constructor initializes serviceDomainManager and serviceThreadPool and reads resoaInfo from configPath |
|
| Method Summary | |
|---|---|
void |
awakeRestSession(org.resoa.topology.RestSession session,
org.resoa.grid.GridSession requestor)
Awake a RestSession within security to prevent timeout |
protected void |
beforeNodeStop(boolean waitForPoolThreadsEnd)
Implement service stops |
void |
cacheRestSession(org.resoa.topology.RestSession session)
Cache a RestSession within local security |
void |
connectToInitialController()
We read ResoaInfo from local and perform the updateResoaInfo |
org.resoa.topology.RestSession |
createRestSession(java.util.List<org.resoa.topology.Permission> perm,
java.lang.String userID,
java.lang.String userAgent,
int timeOut,
org.resoa.grid.GridSession requestor)
Creates a RESTSession handle |
java.lang.String |
getControllerStoragePath()
|
java.util.List<org.resoa.grid.GridSession> |
getDomainSessions(java.lang.String domain)
|
protected java.util.List<ResoaNodeHandle> |
getGridConnectionsNodes()
Generate a list of nodes, we need to connect to |
org.resoa.grid.GridSession |
getNodeSession(java.lang.String profileName)
|
org.resoa.grid.ResoaPersistence |
getPersistor()
Returns reference to Resoa persistence |
org.resoa.topology.ResoaInfo |
getResoaInfo()
|
org.resoa.topology.RestSession |
getRestSession(java.lang.String sessionID,
boolean awake)
|
boolean |
isDeployed(java.lang.String domain,
java.lang.String serviceName)
|
boolean |
isLeadingController()
Returns true, if the controller is the leading one in the grid |
protected ResoaNodeHandle |
onSessionInitialized(org.resoa.grid.GridSession session)
Gets invoked on session initialized. |
void |
onTransactionDelay(java.lang.Object channel,
org.resoa.grid.Message msg)
|
org.resoa.topology.ResoaComponent |
processLocalDeployment(org.resoa.topology.ResoaInfo resoaInfo,
javolution.util.FastMap<java.lang.String,org.resoa.util.codedom.DomainDescriptor> descriptors,
boolean isUpdate)
Get the service deployment map. key is domain name |
void |
removeRestSession(java.lang.String restSessionID,
org.resoa.grid.GridSession requestor)
|
void |
sessionDisconnected(org.resoa.grid.GridSession session)
|
void |
updateLocalResoaInfo(boolean refreshClassLoaderOnly)
We update the ResoaInfo from local File Only leading Controller can perform this! |
protected void |
updateMonitoring(org.resoa.topology.NodeState state)
Update monitoring data within locked state |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.resoa.grid.ResoaGateway |
|---|
broadcastToControllers, broadcastToDomainNodes, executeService, executeService, getConfigurationPath, getLocalProfile, getLogger, getNodeState, getNodeType, getServiceImplementation, isRunning, performTransaction, removeIdleSessions, sendMessage, setGatewayRunner, stop, updateResoaInfo |
| Methods inherited from interface org.resoa.stack.Callbacks.SessionState |
|---|
sessionInitialized |
| Constructor Detail |
|---|
public ResoaControllerGateway()
throws org.resoa.exception.ResoaException
org.resoa.exception.ResoaException
public ResoaControllerGateway(java.lang.String configPath)
throws org.resoa.exception.ResoaException
configPath - the config path
org.resoa.exception.ResoaException| Method Detail |
|---|
public org.resoa.topology.ResoaInfo getResoaInfo()
public boolean isLeadingController()
isLeadingController in interface org.resoa.grid.ResoaGateway.ControllerGateway
public void connectToInitialController()
throws org.resoa.exception.ResoaException
connectToInitialController in interface org.resoa.grid.ResoaGatewayconnectToInitialController in class ResoaBaseGatewayorg.resoa.exception.ResoaException
public org.resoa.topology.ResoaComponent processLocalDeployment(org.resoa.topology.ResoaInfo resoaInfo,
javolution.util.FastMap<java.lang.String,org.resoa.util.codedom.DomainDescriptor> descriptors,
boolean isUpdate)
NodeDomainRelationManager.DomainCache
processLocalDeployment in interface NodeDomainRelationManager.DomainCache<org.resoa.util.codedom.DomainDescriptor>descriptors - the cache for service descriptorsisUpdate - true, if the processing is caused by a runtime update
public org.resoa.grid.GridSession getNodeSession(java.lang.String profileName)
getNodeSession in interface org.resoa.grid.ResoaGateway.ControllerGatewaypublic java.util.List<org.resoa.grid.GridSession> getDomainSessions(java.lang.String domain)
getDomainSessions in interface org.resoa.grid.ResoaGateway.ControllerGatewaypublic java.lang.String getControllerStoragePath()
getControllerStoragePath in interface org.resoa.grid.ResoaGateway.ControllerGatewayprotected java.util.List<ResoaNodeHandle> getGridConnectionsNodes()
ResoaBaseGateway
getGridConnectionsNodes in class ResoaBaseGatewayprotected ResoaNodeHandle onSessionInitialized(org.resoa.grid.GridSession session)
ResoaBaseGateway
onSessionInitialized in class ResoaBaseGatewaysession - the session
public void sessionDisconnected(org.resoa.grid.GridSession session)
sessionDisconnected in interface org.resoa.stack.Callbacks.SessionStatesessionDisconnected in class ResoaBaseGateway
public void onTransactionDelay(java.lang.Object channel,
org.resoa.grid.Message msg)
onTransactionDelay in interface org.resoa.stack.StackChannelProcessorpublic org.resoa.grid.ResoaPersistence getPersistor()
getPersistor in interface org.resoa.grid.ResoaGatewayResoaGateway.getPersistor()
public boolean isDeployed(java.lang.String domain,
java.lang.String serviceName)
isDeployed in interface org.resoa.grid.ResoaGatewaypublic void updateLocalResoaInfo(boolean refreshClassLoaderOnly)
public org.resoa.topology.RestSession createRestSession(java.util.List<org.resoa.topology.Permission> perm,
java.lang.String userID,
java.lang.String userAgent,
int timeOut,
org.resoa.grid.GridSession requestor)
ResoaServiceGateway
createRestSession in interface org.resoa.grid.ResoaGatewaycreateRestSession in class ResoaServiceGatewayperm - provide the permissions, associated with this sessionuserID - the userID of the sessionuserAgent - the user agenttimeOut - the timeoutrequestor - the base stack session
public org.resoa.topology.RestSession getRestSession(java.lang.String sessionID,
boolean awake)
getRestSession in interface org.resoa.grid.ResoaGatewaygetRestSession in class ResoaServiceGateway
public void awakeRestSession(org.resoa.topology.RestSession session,
org.resoa.grid.GridSession requestor)
session - requestor - public void cacheRestSession(org.resoa.topology.RestSession session)
session - the session
public void removeRestSession(java.lang.String restSessionID,
org.resoa.grid.GridSession requestor)
removeRestSession in interface org.resoa.grid.ResoaGatewayremoveRestSession in class ResoaServiceGatewayprotected void beforeNodeStop(boolean waitForPoolThreadsEnd)
ResoaBaseGateway
beforeNodeStop in class ResoaBaseGatewayprotected void updateMonitoring(org.resoa.topology.NodeState state)
ResoaBaseGateway
updateMonitoring in class ResoaBaseGateway
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||