Package com.nt.udc.ndk.node
Class OINode
java.lang.Object
com.nt.udc.ndk.node.DCNode
com.nt.udc.ndk.node.OINode
- All Implemented Interfaces:
AdminIfc,ConfigIfc,LoggerIfc,NodeHealthIfc,NodeStateManagementIfc,PropertyIfc,StateManagementIfc
- Direct Known Subclasses:
FFOINode,GenevaOINode,JDBCOINode,OIFtpNode,RadiusOINode
This class is the base class for all OI nodes. It provides methods to
set the FieldProcessor and Transport components of the node.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ThreadManages the node's field processor.protected DCFieldProcessorTheDCFieldProcessorfor this node.protected OITransportTheOITransportfor this node.protected ThreadManages the node's transport.Fields inherited from class com.nt.udc.ndk.node.DCNode
backupDir, config, configClass, configDir, configFile, configGUIClass, dcHandls, DEFAULT_PROCESSING_INTERVAL, fileMngr, generalMonitoringTimer, inputMonitoringAlarmRaised, inputMonitoringEnabled, inputMonitoringNARFileMgr, inputMonitoringPollingInterval, inputMonitoringPreviousCount, inputMonitoringSilenceCounter, inputMonitoringSilenceInterval, inputMonitoringSilenceIntervalText, KUBERNETES_POD_NAME, logDir, logger, majorType, minorType, node_pm, nodeid, NODEINIT, NODERECONFIG, nodeStartTime, nodeStateFileName, OCOMC_NODE_ID, OCOMC_POD_NAME, OCOMC_REPLICA_INDEX, OCOMC_STS_NAME, processingInterval, reconfiguring, savingStateOn, scratchDir, shutdown, stateManager, suspenseDir, TRANSACTION_NAR_ID, udcHomeFields inherited from interface com.nt.udc.ndk.node.LoggerIfc
FC_CONFIGURATION, FC_CONNECTIVITY, FC_INITIALIZATION, FC_INTERNALERROR, FC_INVALIDDATA, FC_NODE_CONTROL, FC_RESOURCES, FC_SECURITY, FC_SERVER_CONTROL, FC_UNDEFINED, SF_CONF_CHANGE_ERROR, SF_CONF_CONFIG_FAIL, SF_CONF_ERR_NODE_CONF, SF_CONF_INV_FTP_CONF, SF_CONF_INV_NODE_CONF, SF_CONF_INV_PARAM, SF_CONF_INV_PARAM_VAL, SF_CONF_INV_REM_DIR, SF_CONF_MISSING_PARM, SF_CONF_MISSING_PARM2, SF_CONF_NM_CONF_ERROR, SF_CONF_NO_CONFIG, SF_CONF_NO_FTP_INT, SF_CONF_NODE_CREATION, SF_CONF_NODE_START, SF_CONF_NPL_CRITICAL, SF_CONF_NPL_ERROR, SF_CONF_READ_ERROR, SF_CONF_READ_PROPS, SF_CONF_SAVE_ERROR, SF_CONF_SOCKET_INIT, SF_CONF_VER_VALIDATION, SF_CONN_DB_CON_ERR, SF_CONN_DB_CON_LOST, SF_CONN_DEGRADED_ERR, SF_CONN_ECE_CON_ERR, SF_CONN_ERR_NODEINFO, SF_CONN_ERR_RCV_DATA, SF_CONN_ERR_SEND_ACK, SF_CONN_ERROR_TACHYON_USAGE, SF_CONN_FAILED_TO_RECEIVE_RESPONSE, SF_CONN_FILE_READ_ERR, SF_CONN_FTP_ERROR, SF_CONN_FTP_ERROR2, SF_CONN_FTP_LOGIN, SF_CONN_INTERFACING_CON_ERR, SF_CONN_INVALID_TACHYON_RECORD, SF_CONN_LDAP_CONNECT, SF_CONN_LOST_NM, SF_CONN_NM_API_ERR, SF_CONN_PDU_NULL, SF_CONN_POLL_ERR, SF_CONN_SNMP_SESS_OPEN_FAIL, SF_CONN_TIMED_OUT, SF_DATA_AGGR_ERROR, SF_DATA_ATTR_CREATE, SF_DATA_ATTR_PARSE, SF_DATA_ATTR_SHIFT, SF_DATA_CANNOT_ENCODE, SF_DATA_CANT_ACK, SF_DATA_CANT_ENCODE, SF_DATA_CONV_STR_TO_N, SF_DATA_CONV_TO_STR, SF_DATA_CONVERT_ATTR, SF_DATA_DATA_EXPIRED, SF_DATA_DATA_MISSING, SF_DATA_DATA_PROC_ERR, SF_DATA_ENCODE_ERR, SF_DATA_ERR_CREATE, SF_DATA_ERR_SEND_ACK, SF_DATA_ERROR_IN_NPL, SF_DATA_ERROR_ON_ACK, SF_DATA_FILE_DATA, SF_DATA_FILE_PROC_ERR, SF_DATA_FORMAT_ERROR, SF_DATA_IE_INVALID, SF_DATA_IE_MISSING, SF_DATA_INPUT_INVALID, SF_DATA_INV_ATT_TYPE, SF_DATA_INV_ATTR_NPL, SF_DATA_INV_RECORD, SF_DATA_INV_TRAF_VOL, SF_DATA_JDBC_DRIVER_ERR, SF_DATA_KEY_CREATE, SF_DATA_MISSING_ATTRS, SF_DATA_MSG_TOO_SMALL, SF_DATA_MSG_TYPE, SF_DATA_NAR_IS_NULL, SF_DATA_NO_DATA_FILE, SF_DATA_NO_OPT_IE, SF_DATA_REC_INCOMP, SF_DATA_RECORD_PROC, SF_DATA_RECORD_SAVE, SF_DATA_SRC_READ_ERR, SF_DATA_UNABLE_COMPLETE, SF_DATA_UNEXP_NAR, SF_DATA_UNEXPECTED, SF_DATA_VAL_NOT_FOUND, SF_DATA_WRONG_DECODER, SF_INIT_DB_CON_ERR, SF_INIT_DIR_CON_ERR, SF_INIT_IO_ERR, SF_INIT_LDM, SF_INIT_LDM_RUN, SF_INIT_NODE_CONFIG, SF_INIT_NODE_CREATION, SF_INIT_NODE_INIT, SF_INIT_NODE_START, SF_INIT_RDM, SF_INIT_RDM_RUN, SF_INIT_REG_ERROR, SF_INIT_RULE_LOAD_ERR, SF_INIT_SOCKET_CREATE, SF_INIT_SOCKET_INIT, SF_INT_ERR_ETRACE, SF_INT_ERR_EXCEPTION, SF_INT_ERR_EXPIRE_ERR, SF_INT_ERR_FIELD_NULL, SF_INT_ERR_PROC_ERR, SF_INT_ERR_SHUTDOWN, SF_NC_ERR_IN_NODE, SF_NC_ERR_MNG_SERVER, SF_NC_ERR_NODE_STATE, SF_NC_ERR_PROC_DATA, SF_NC_ERR_RESTARTING, SF_NC_ERR_STARTING, SF_NC_ERR_STOPPING, SF_NC_ERR_UNHEALTHY, SF_NC_NODE_CONF_ERROR, SF_NC_NODE_SHUTDOWN, SF_RES_CPU_MAJOR, SF_RES_CPU_MINOR, SF_RES_CPU_USAGE_ERR, SF_RES_DISK_CRITICAL, SF_RES_DISK_MINOR, SF_RES_DISK_STATUS, SF_RES_DISK_USAGE, SF_RES_ERR_DATA_READ, SF_RES_ERR_DATA_REM, SF_RES_ERR_DB_CLOSE, SF_RES_ERR_DB_OP, SF_RES_ERR_DEL_ENTRY, SF_RES_ERR_DIR_CLOSE, SF_RES_ERR_DIR_CREATE, SF_RES_ERR_DIR_DELETE, SF_RES_ERR_DIR_OPEN, SF_RES_ERR_DIR_PROC, SF_RES_ERR_DIR_READ, SF_RES_ERR_DIR_WRITE, SF_RES_ERR_ENT_CREATE, SF_RES_ERR_FILE_CLOSE, SF_RES_ERR_FILE_CREAT, SF_RES_ERR_FILE_DEL, SF_RES_ERR_FILE_MOVE, SF_RES_ERR_FILE_NAME, SF_RES_ERR_FILE_OPEN, SF_RES_ERR_FILE_PROC, SF_RES_ERR_FILE_READ, SF_RES_ERR_FILE_REN, SF_RES_ERR_FILE_WRITE, SF_RES_ERR_IN_TRANS, SF_RES_ERR_INST_CLASS, SF_RES_ERR_INST_REC, SF_RES_ERR_IO_ERR, SF_RES_ERR_OPEN_TRANS, SF_RES_ERR_READ_DU, SF_RES_ERR_SOCK_CLOSE, SF_RES_ERR_SOCK_CREAT, SF_RES_ERR_SOCK_OPEN, SF_RES_ERR_SOCK_WRITE, SF_RES_ERR_TABLE_ACC, SF_RES_ERR_TABLE_CLOS, SF_RES_ERR_TABLE_OPEN, SF_RES_ERR_TIMER_SCHED, SF_RES_ERR_USING_Q, SF_RES_IS_NULL, SF_RES_MEM_MAJOR, SF_RES_MEM_WARNING, SF_RES_NO_LICENSE, SF_RES_NODE_STATE_R, SF_RES_NODE_STATE_W, SF_SEC_NO_USER_AUTH, SF_SEC_USER_AUTH_FAIL, SF_SEC_USER_CFG_FAIL, SF_SRV_CNTRL, SF_UND_INTERRUPTED, SF_UND_SHUTDOWN_ERRFields inherited from interface com.nt.udc.ndk.node.PropertyIfc
ENVIRONMENT, RUNTIME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidcreateDCStreamHandlers(boolean isMultithreaded, int numThreads, boolean mtOrderChecked, int currThread) Creates DCStreamHandler object that this node is using for inter-node communication.voidcreateDCStreamHandlers(boolean isMultithreaded, int numThreads, int currThread) Creates DCStreamHandler object that this node is using for inter-node communication.Returns theDCFieldProcessorfor this node.getFieldProcessor(int i) Returns theDCFieldProcessorfor this node.Returns the thread in which is the FieldProcessor is running.getFieldProcessorThread(int i) Returns the thread in which is the FieldProcessor is running.protected FileRetentionThreadThis method collects the details required for creating FileRetentionThread and creates FileRetentionThread.Returns the 'Major Type' of this node.Returns the thread in which is the OIFileCycler is running.Returns the thread in which is the OIMultiThreadManager is running.Returns theOITransportfor this node.getTransport(int i) Returns theOITransportfor this node.Returns the thread in which is the OITransport is running.booleanThis method is used to check the transport's state of health.booleanThis method is used to check the nodes general monitoring thread's health.booleanReturns whether the node state is used (and whether the node can be recovered.voidSets theDCFieldProcessorfor this node.voidsetFieldProcessor(DCFieldProcessor fp, int i) Sets theDCFieldProcessorfor this node at given index.voidSets theDCFieldProcessorto run within its own thread.voidsetFieldProcessorThread(DCFieldProcessor fp, int i, String name) Sets theDCFieldProcessorto run within its own thread.voidsetOIFileCyclerThread(OIFileCycler oiFileCycler) Sets theOIFileCyclerto run within its own thread.voidsetOIMTManagerThread(OIMultiThreadManager oiMtMgr, String name) Sets theOIMultiThreadManagerto run within its own thread.voidsetTransport(OITransport oit) Sets theOITransportfor this node.voidsetTransport(OITransport oit, int i) Sets theOITransportfor this node.voidSets theOITransportto run within its own thread.Methods inherited from class com.nt.udc.ndk.node.DCNode
addNodeEventListener, backup, clearStatus, clearStatus, clearStatus, createCounters, getAndResetRecordStatistics, getBackupDir, getConfig, getConfigDataClass, getConfigDataGuiClass, getConfigDir, getConfigFile, getDCNodeType, getDCStreamHandler, getDCStreamHandler, getDiscardedStatsProcessor, getDisplayString, getDuplicateStatsProcessor, getHomeDir, getInputStatsProcessor, getItem, getLogDir, getLogger, getMinorType, getNodeClass, getNodeEventListeners, getNodeId, getNodeStateManager, getOutputStatsProcessor, getPerformanceMetrics, getProperty, getPropertyKeys, getPropertyTypes, getRejectTransactionId, getScratchDir, getStateManagementType, getStateManager, getStatus, getStoredStatsProcessor, getStreamHandler, getStreamHandler, getSuspenseDir, initialize, inputMonitoringCallback, inputMonitoringPollInputCounter, isDebugEnabled, isInfoEnabled, isNodeStateImplemented, isReconfigPending, isReconfiguring, isRejectTransaction, isShutdown, isStateUsed, logCritical, logDebug, logError, logInfo, logMajor, logMinor, logTrace, logWarning, logWarning, reconfigure, registerThreadForHealthMonitoring, rejectTransaction, restoreState, saveState, saveState, setConfig, setDCStreamHandler, setDCStreamHandler, setIsReconfiguringFlag, setItem, setProperty, setSNMPTrapGenerator, setStreamHandler, setStreamHandler, shutdown, shutdownDCStreamHandler, shuttingDown, startup, unregisterThreadFromHealthMonitoring, warmRestartImplemented
-
Field Details
-
processor
TheDCFieldProcessorfor this node. -
transport
TheOITransportfor this node. -
fpThread
Manages the node's field processor. -
transThread
Manages the node's transport.
-
-
Constructor Details
-
OINode
public OINode()Default Constructor; instantiates objects necessary to define the DCNodeTypeIfc methods. -
OINode
Constructor for the class. Calls the super class DCNode with the given array of arguments.
Subclasses should instantiate theprocessorand thetransportattributes via the appropriate 'set' methods. The DataProvider(s) and DataReceiver(s) must be set, as necessary, for theprocessorandtransport.- Parameters:
args- Arguments to be passed to the DCNode super class.- Throws:
NodeStartException
-
OINode
Constructor for the class. Calls the super class DCNode with the given array of arguments.
Subclasses should instantiate theprocessorand thetransportattributes via the appropriate 'set' methods. The DataProvider(s) and DataReceiver(s) must be set, as necessary, for theprocessorandtransport.- Parameters:
args- Arguments to be passed to the DCNode super class.mtCheck- Parameter to indicate multi-threaded node Note: In case of multi-threaded FFOINode, DCStreamHandler is handled separately.- Throws:
NodeStartException
-
-
Method Details
-
createDCStreamHandlers
public void createDCStreamHandlers(boolean isMultithreaded, int numThreads, int currThread) Creates DCStreamHandler object that this node is using for inter-node communication.- Parameters:
isMultithreaded- indicates multi threaded nodenumThreads- number of threads configuredcurrThread- current thread
-
createDCStreamHandlers
public void createDCStreamHandlers(boolean isMultithreaded, int numThreads, boolean mtOrderChecked, int currThread) Creates DCStreamHandler object that this node is using for inter-node communication.- Parameters:
isMultithreaded- indicates multi threaded nodenumThreads- number of threads configuredmtOrderChecked- indicates order needed or notcurrThread- current thread
-
createDCStreamHandlers
public void createDCStreamHandlers() -
getMajorType
Returns the 'Major Type' of this node.- Specified by:
getMajorTypein classDCNode- Returns:
- Returns the major-type identifier of this node.
-
setFieldProcessor
Sets theDCFieldProcessorfor this node.- Parameters:
fp- TheDCFieldProcessorto be used within this node.
-
setFieldProcessor
Sets theDCFieldProcessorfor this node at given index.- Parameters:
fp- TheDCFieldProcessorto be used within this node.i- Index to add to list of field processors
-
getFieldProcessor
Returns theDCFieldProcessorfor this node.- Returns:
- Returns the node's
DCFieldProcessor.
-
getFieldProcessor
Returns theDCFieldProcessorfor this node.- Parameters:
i- Index to return DCFieldProcessor from fld processors list- Returns:
- Returns the node's
DCFieldProcessor.
-
setTransport
Sets theOITransportfor this node.- Parameters:
oit- TheOITransportto be used within this node.
-
setTransport
Sets theOITransportfor this node.- Parameters:
oit- TheOITransportto be used within this node.i- Index to add transport list
-
getTransport
Returns theOITransportfor this node.- Returns:
- Returns the node's
OITransport.
-
getTransport
Returns theOITransportfor this node.- Parameters:
i- Index to return transport- Returns:
- Returns the node's
OITransport.
-
setFieldProcessorThread
Sets theDCFieldProcessorto run within its own thread.- Parameters:
fp- A runnableDCFieldProcessorobject.
-
setOIMTManagerThread
Sets theOIMultiThreadManagerto run within its own thread.- Parameters:
oiMtMgr- A runnableOIMultiThreadManagerobject.
-
setOIFileCyclerThread
Sets theOIFileCyclerto run within its own thread.- Parameters:
oiFileCycler- A runnableOIMultiThreadManagerobject.
-
setFieldProcessorThread
Sets theDCFieldProcessorto run within its own thread.- Parameters:
fp- A runnableDCFieldProcessorobject.i- Index of a runnable DCFieldProcessor object.name- Name of runnable DCFieldProcessor object.
-
getFieldProcessorThread
Returns the thread in which is the FieldProcessor is running.- Returns:
- Returns
DCFieldProcessor's thread.
-
getFieldProcessorThread
Returns the thread in which is the FieldProcessor is running.- Parameters:
i- Index of a runnable DCFieldProcessor object.- Returns:
- Returns
DCFieldProcessor's thread.
-
getOIMTManagerThread
Returns the thread in which is the OIMultiThreadManager is running.- Returns:
- Returns
OIMultiThreadManager's thread.
-
getOIFileCyclerThread
Returns the thread in which is the OIFileCycler is running.- Returns:
- Returns
OIFileCycler's thread.
-
setTransportThread
Sets theOITransportto run within its own thread.- Parameters:
oit- A runnableOITransportobject.
-
getTransportThread
Returns the thread in which is the OITransport is running.- Returns:
- Returns
OITransport's thread.
-
isNodeStateUsed
public boolean isNodeStateUsed()Returns whether the node state is used (and whether the node can be recovered. Currently disabled for all OI Nodes.- Specified by:
isNodeStateUsedin interfaceNodeStateManagementIfc- Overrides:
isNodeStateUsedin classDCNode- Returns:
- true, if node state is being used
-
isHealthy
public boolean isHealthy()This method is used to check the transport's state of health. The criterion for determining the node's health is based on the transport's health and whether all registered threads are alive. It is to be overridden by subclasses.- Specified by:
isHealthyin interfaceNodeHealthIfc- Overrides:
isHealthyin classDCNode- Returns:
- true if the transport is healthy, false otherwise
-
isMonitorThreadHealthy
public boolean isMonitorThreadHealthy()This method is used to check the nodes general monitoring thread's health. It is to be overridden by subclasses.- Returns:
- true if the general monitoring thread is healthy, false otherwise
-
getFileRetentionThread
This method collects the details required for creating FileRetentionThread and creates FileRetentionThread. This method will be used by subclasses like FFOINode for creating FileRetentionThread.- Returns:
- FileRetentionThread FileRetentionThread will be created invalid input: '&' returned after successful operation. If configured archivefolder doesn't exists or not creatable, NodeStartException will be thrown.
- Throws:
NodeStartException
-