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 EITransportTheEITransportclass manages all of the data that is collected by this Equipment Interface (EI).protected EITransport[]protected DCFieldProcessorTheDCFieldProcessorclass 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 ThreadIf using a thread field processor, this is where it should run.protected Thread[]protected ThreadIf 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, 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 TypeMethodDescriptionprotected DCFieldProcessorGets the object that is responsible for processing the raw data into the format being passed out of the node (most likely NARs).protected DCFieldProcessorgetFieldProcessor(int i) final Stringprotected EITransportGets the object responsible for transporting data from our source.protected EITransportgetTransport(int i) getTransportThread(int i) protected voidinitDCStreamHandler(int numThreads, boolean isMultithreaded) protected voidinitDCStreamHandler(int numThreads, boolean isMultithreaded, boolean isOrdered) booleanThis method is used to check the transport's state of health.booleanReturns whether the node state is used (and whether the node can be recovered.) (Currently disabled for all EI nodes)voidCall that reconfigures an EINode object for warm restart.protected voidSets the DCFieldProcessor for this node.protected voidsetFieldProcessor(DCFieldProcessor fp, int i) voidSets the DCFieldProcessor to run within its own thread.protected voidsetTransport(EITransport eit) Sets the EITransport for this node.protected voidsetTransport(EITransport eit, int i) voidSets the EITransport to run within its own thread.voidsetTransportThread(EITransport eit, int i) voidsetTransportThread(EITransport eit, int i, String name) protected voidShutdown the FieldProcessor.voidstartup()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
TheEITransportclass manages all of the data that is collected by this Equipment Interface (EI). The transport must implement DataProviderIfc. -
eiTransports
-
fieldProcessor
TheDCFieldProcessorclass 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:
getMajorTypein 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:
isNodeStateUsedin interfaceNodeStateManagementIfc- Overrides:
isNodeStateUsedin 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 thesetIsReconfiguringFlagmethod just before returning from itsreconfigure()method to set the reconfiguration state to false.- Specified by:
reconfigurein interfaceAdminIfc- Overrides:
reconfigurein 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:
startupin interfaceAdminIfc- Overrides:
startupin 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:
isHealthyin interfaceNodeHealthIfc- Overrides:
isHealthyin classDCNode- Returns:
- true if the transport is healthy, false otherwise
-