Package com.nt.udc.ndk.node
Class EINode
java.lang.Object
com.nt.udc.ndk.node.DCNode
com.nt.udc.ndk.node.EINode
- All Implemented Interfaces:
AdminIfc
,ConfigIfc
,LoggerIfc
,NodeHealthIfc
,NodeStateManagementIfc
,PropertyIfc
,StateManagementIfc
- Direct Known Subclasses:
FileEINode
,FlatFileEINode
,FtpFileEINode
,GenericUdpEINode
,IPDREINode
,JDBCEINode
,SoapXmlEINode
,XMLEINode
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected EITransport
TheEITransport
class manages all of the data that is collected by this Equipment Interface (EI).protected EITransport[]
protected DCFieldProcessor
TheDCFieldProcessor
class in an EI is specifically used for the purpose of moving records from an object associated with the raw input form to NAR Records.protected DCFieldProcessor[]
protected Thread
If using a thread field processor, this is where it should run.protected Thread[]
protected Thread
If using a threaded transport, this is where it should runFields 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, udcHome
Fields 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_ERR
Fields inherited from interface com.nt.udc.ndk.node.PropertyIfc
ENVIRONMENT, RUNTIME
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected DCFieldProcessor
Gets the object that is responsible for processing the raw data into the format being passed out of the node (most likely NARs).protected DCFieldProcessor
getFieldProcessor
(int i) final String
protected EITransport
Gets the object responsible for transporting data from our source.protected EITransport
getTransport
(int i) getTransportThread
(int i) protected void
initDCStreamHandler
(int numThreads, boolean isMultithreaded) protected void
initDCStreamHandler
(int numThreads, boolean isMultithreaded, boolean isOrdered) boolean
This method is used to check the transport's state of health.boolean
Returns whether the node state is used (and whether the node can be recovered.) (Currently disabled for all EI nodes)void
Call that reconfigures an EINode object for warm restart.protected void
Sets the DCFieldProcessor for this node.protected void
setFieldProcessor
(DCFieldProcessor fp, int i) void
Sets the DCFieldProcessor to run within its own thread.protected void
setTransport
(EITransport eit) Sets the EITransport for this node.protected void
setTransport
(EITransport eit, int i) void
Sets the EITransport to run within its own thread.void
setTransportThread
(EITransport eit, int i) void
setTransportThread
(EITransport eit, int i, String name) protected void
Shutdown the FieldProcessor.void
startup()
Call that starts a node.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, registerThreadForHealthMonitoring, rejectTransaction, restoreState, saveState, saveState, setConfig, setDCStreamHandler, setDCStreamHandler, setIsReconfiguringFlag, setItem, setProperty, setSNMPTrapGenerator, setStreamHandler, setStreamHandler, shutdown, shutdownDCStreamHandler, shuttingDown, unregisterThreadFromHealthMonitoring, warmRestartImplemented
-
Field Details
-
eiTransport
TheEITransport
class manages all of the data that is collected by this Equipment Interface (EI). The transport must implement DataProviderIfc. -
eiTransports
-
fieldProcessor
TheDCFieldProcessor
class in an EI is specifically used for the purpose of moving records from an object associated with the raw input form to NAR Records. -
fp
-
transThread
If using a threaded transport, this is where it should run -
transportThread
-
fpThread
If using a thread field processor, this is where it should run.
-
-
Constructor Details
-
EINode
public EINode()Default Constructor; instantiates objects necessary to define the DCNodeTypeIfc methods. -
EINode
Constructor for the class. Calls the super class DCNode then sets up directory space for output in: invalid input: ' ' /output
Subclasses should then instantiate the eiTransport attribute, and the eiRecord attribute. The eiRecord should then be handed to the eiTransport. Subclasses should also create a DCFieldProcessor object as both a DataReceiverIfc and a DataProviderIfc. Then eiTransport, and the DCFieldProcessor should have their providers and receivers set as appropriate.- Parameters:
args
- Passed to super class DCNode- Throws:
NodeStartException
-
EINode
- Throws:
NodeStartException
-
-
Method Details
-
getMajorType
- Specified by:
getMajorType
in classDCNode
- Returns:
- Returns the 'Major Type' of this node.
-
setTransport
Sets the EITransport for this node.- Parameters:
eit
- The EITransport object to be used within this node.
-
setTransport
-
getTransport
Gets the object responsible for transporting data from our source.- Returns:
- Returns the EITransport object for this node.
-
getTransport
-
setFieldProcessor
Sets the DCFieldProcessor for this node.- Parameters:
fp
- The DCFieldProcessor object to be used within this node.
-
setFieldProcessor
-
getFieldProcessor
Gets the object that is responsible for processing the raw data into the format being passed out of the node (most likely NARs).- Returns:
- Returns the DCFieldProcessor object for this node.
-
getFieldProcessor
-
setFieldProcessorThread
Sets the DCFieldProcessor to run within its own thread.- Parameters:
fp
- A runnable DCFieldProcessor object.
-
getFieldProcessorThread
- Returns:
- Returns the thread which is executing the DCFieldProcessor.
-
shutdownFieldProcessor
protected void shutdownFieldProcessor()Shutdown the FieldProcessor. The FieldProcessor should continue to run until all data has been pushed to the DCStreamHandler. -
setTransportThread
Sets the EITransport to run within its own thread.- Parameters:
oit
- A runnable EITransport object.
-
setTransportThread
-
setTransportThread
-
getTransportThread
- Returns:
- Returns the thread which is executing the Transport.
-
getTransportThread
-
isNodeStateUsed
public boolean isNodeStateUsed()Returns whether the node state is used (and whether the node can be recovered.) (Currently disabled for all EI nodes)- Specified by:
isNodeStateUsed
in interfaceNodeStateManagementIfc
- Overrides:
isNodeStateUsed
in classDCNode
- Returns:
- true, if node state is being used
-
reconfigure
Call that reconfigures an EINode object for warm restart. This method performs node reconfiguration processing specific to an EINode object. Derived classes that need to perform their own reconfiguration processing should overridereconfigure()
and then call this method from there. A flag is set in the DCNode base class indicating this node is in the reconfiguration state. The most derived class should use thesetIsReconfiguringFlag
method just before returning from itsreconfigure()
method to set the reconfiguration state to false.- Specified by:
reconfigure
in interfaceAdminIfc
- Overrides:
reconfigure
in classDCNode
- Throws:
NodeStartException
-
startup
Call that starts a node. This method performs startup processing specific to an EINode object. Derived classes that need to perform their own startup processing should overridestartup()
and then call this method first from there.- Specified by:
startup
in interfaceAdminIfc
- Overrides:
startup
in classDCNode
- Throws:
NodeStartException
-
initDCStreamHandler
protected void initDCStreamHandler(int numThreads, boolean isMultithreaded) -
initDCStreamHandler
protected void initDCStreamHandler(int numThreads, boolean isMultithreaded, boolean isOrdered) -
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:
isHealthy
in interfaceNodeHealthIfc
- Overrides:
isHealthy
in classDCNode
- Returns:
- true if the transport is healthy, false otherwise
-