public abstract class ThreadedColAppenderNodeModel extends NodeModel
|Modifier and Type||Field and Description|
The default maximum number of threads for each threaded node.
|Constructor and Description|
Creates a new AbstractParallelNodeModel.
|Modifier and Type||Method and Description|
Returns the output spec based on the input spec and the cell factory.
This function is invoked by the
Returns all additional tables passed into the node, i.e.
This method is called after all rows have been processed and combined into the final result tables.
This method is called before the first chunked is processed.
Sets the maximum number of threads that may be used by this node.
addWarningListener, computeFinalOutputSpecs, configure, configure, continueLoop, createInitialStreamableOperatorInternals, createMergeOperator, createStreamableOperator, execute, finishStreamableExecution, getAvailableFlowVariables, getAvailableInputFlowVariables, getCredentialsProvider, getInHiLiteHandler, getInPortType, getInputPortRoles, getInteractiveNodeView, getLogger, getLoopEndNode, getLoopStartNode, getNrInPorts, getNrOutPorts, getOutHiLiteHandler, getOutPortType, getOutputPortRoles, getWarningMessage, iterate, loadInternals, loadValidatedSettingsFrom, notifyViews, notifyWarningListeners, onDispose, peekFlowVariableDouble, peekFlowVariableInt, peekFlowVariableString, pushFlowVariableDouble, pushFlowVariableInt, pushFlowVariableString, removeWarningListener, reset, resetAndConfigureLoopBody, saveInternals, saveSettingsTo, setInHiLiteHandler, setWarningMessage, stateChanged, validateSettings
public static final int DEFAULT_MAX_THREAD_COUNT
protected abstract ExtendedCellFactory prepareExecute(DataTable data) throws Exception
data- the input data tables
Exception- if something goes wrong during preparation
protected final BufferedDataTable execute(BufferedDataTable data, ExecutionContext exec) throws Exception
Node#executeNode()method of the node (through the
#executeModel(BufferedDataTable,ExecutionMonitor)method) only after all predecessor nodes have been successfully executed and all data is therefore available at the input ports. Implement this function with your task in the derived model.
The input data is available in the given array argument
inData and is ensured to be neither
null nor contain
null elements (with few non-standard exception, which are described in
more detail in
In order to create output data, you need to create objects of class
BufferedDataTable. Use the
execution context argument to create
data- An array holding
DataTableelements, one for each input.
exec- The execution monitor for this execute method. It provides us with means to create new
BufferedDataTable. Additionally, it should be asked frequently if the execution should be interrupted and throws an exception then. This exception might me caught, and then after closing all data streams, been thrown again. Also, if you can tell the progress of your task, just set it in this monitor.
nullDataTable elements with the size of the number of outputs. The result of this execution.
Exception- If you must fail the execution. Try to provide a meaningful error message in the exception as it will be displayed to the user.Please be advised to check frequently the canceled status by invoking
ExecutionMonitor#checkCanceledwhich will throw an
CanceledExcecutionExceptionand abort the execution.
protected BufferedDataTable postExecute(BufferedDataTable res, ExecutionContext exec)
res- the combined result tables
exec- the currently active execution context
protected final BufferedDataTable getAdditionalTables()
nullif the node is not currently executing
public void setMaxThreads(int count)
count- the maximum thread count
KNIME GmbH, Konstanz, Germany
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.