org.resoa.node.core
Class ResoaNodeGateway

java.lang.Object
  extended by org.resoa.node.core.ResoaBaseGateway
      extended by org.resoa.node.core.ResoaServiceGateway
          extended by org.resoa.node.core.ResoaNodeGateway
All Implemented Interfaces:
org.resoa.grid.ResoaGateway, NodeDomainRelationManager.DomainCache<org.resoa.util.codedom.DomainDescriptor>, org.resoa.stack.Callbacks.SessionState, org.resoa.stack.StackChannelProcessor

public class ResoaNodeGateway
extends ResoaServiceGateway
implements NodeDomainRelationManager.DomainCache<org.resoa.util.codedom.DomainDescriptor>

ResoaNodeGateway class for node specific behavior.


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
ResoaNodeGateway()
          Default constructor
ResoaNodeGateway(java.lang.String configPath)
          Constructor initializes serviceDomainManager and serviceThreadPool
 
Method Summary
protected  void afterGridConnection(boolean isUpdate)
          New ResoaInfo processing
protected  void beforeNodeStop(boolean waitForPoolThreadsEnd)
          Implement service stops
 org.resoa.grid.ResoaPersistence getPersistor()
          Returns reference to Resoa persistence
 boolean isDeployed(java.lang.String domain, java.lang.String serviceName)
           
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
protected  void updateMonitoring(org.resoa.topology.NodeState state)
          Update monitoring data within locked state
 
Methods inherited from class org.resoa.node.core.ResoaServiceGateway
broadcastToControllers, broadcastToDomainNodes, createHotBackup, createRestSession, deployServiceDomain, executeService, executeService, getRestSession, getServiceImplementation, initializeServices, marshallRequest, onMessage, performControllerTransaction, performTransaction, processResoaResponse, readChannel, removeRestSession, requestRestSessionFromController, sendMessage, unmarshallTransactionResult, writeChannel
 
Methods inherited from class org.resoa.node.core.ResoaBaseGateway
addMessageToPending, beforeGridConnection, connectToInitialController, connectToNode, getConfigurationPath, getConnectedProfiles, getControllerSession, getDomainNodes, getErrorCodeFromException, getGridConnectionsNodes, getLocalProfile, getLogger, getNodeHandle, getNodeState, getNodeType, getStack, getTransactionState, indicateTransactionError, isAccessPoint, isRunning, removeIdleSessions, sendPendingMessage, sessionDisconnected, sessionInitialized, setConfigurationPath, setGatewayRunner, stop, updateResoaInfo
 
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
connectToInitialController, getConfigurationPath, getLocalProfile, getLogger, getNodeState, getNodeType, isRunning, removeIdleSessions, setGatewayRunner, stop, updateResoaInfo
 
Methods inherited from interface org.resoa.stack.Callbacks.SessionState
sessionDisconnected, sessionInitialized
 

Constructor Detail

ResoaNodeGateway

public ResoaNodeGateway()
                 throws org.resoa.exception.ResoaException
Default constructor

Throws:
org.resoa.exception.ResoaException

ResoaNodeGateway

public ResoaNodeGateway(java.lang.String configPath)
                 throws org.resoa.exception.ResoaException
Constructor initializes serviceDomainManager and serviceThreadPool

Parameters:
configPath -
Throws:
org.resoa.exception.ResoaException
Method Detail

onSessionInitialized

protected ResoaNodeHandle onSessionInitialized(org.resoa.grid.GridSession session)
Description copied from class: ResoaBaseGateway
Gets invoked on session initialized. It validates the remote node profile.

Overrides:
onSessionInitialized in class ResoaBaseGateway
Parameters:
session - the session
Returns:
the ResoaNodeHandle if node is accepted, or null if the connection refused

onTransactionDelay

public void onTransactionDelay(java.lang.Object channel,
                               org.resoa.grid.Message msg)
Specified by:
onTransactionDelay in interface org.resoa.stack.StackChannelProcessor

afterGridConnection

protected void afterGridConnection(boolean isUpdate)
New ResoaInfo processing

Overrides:
afterGridConnection in class ResoaBaseGateway
Parameters:
isUpdate - true, if the connection is caused by an update

isDeployed

public boolean isDeployed(java.lang.String domain,
                          java.lang.String serviceName)
Specified by:
isDeployed in interface org.resoa.grid.ResoaGateway

getPersistor

public org.resoa.grid.ResoaPersistence getPersistor()
Returns reference to Resoa persistence

Specified by:
getPersistor in interface org.resoa.grid.ResoaGateway
Returns:
the persistence manager
See Also:
ResoaGateway.getPersistor()

processLocalDeployment

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)
Description copied from interface: NodeDomainRelationManager.DomainCache
Get the service deployment map. key is domain name

Specified by:
processLocalDeployment in interface NodeDomainRelationManager.DomainCache<org.resoa.util.codedom.DomainDescriptor>
descriptors - the cache for service descriptors
isUpdate - true, if the processing is caused by a runtime update
Returns:
the local resoa component instance

updateMonitoring

protected void updateMonitoring(org.resoa.topology.NodeState state)
Description copied from class: ResoaBaseGateway
Update monitoring data within locked state

Specified by:
updateMonitoring in class ResoaBaseGateway

beforeNodeStop

protected void beforeNodeStop(boolean waitForPoolThreadsEnd)
Description copied from class: ResoaBaseGateway
Implement service stops

Specified by:
beforeNodeStop in class ResoaBaseGateway


Read more about license conditions at www.resoa.org.