Building DataFlow Applications in Java : Using External Ports
 
Share this page                  
Using External Ports
When composing a DataFlow application, sometimes you may need to use a data source or target that is external to the DataFlow application. In such cases, you can use an external port, which allows the external application to send or receive data from a DataFlow graph. To add an external port to an application graph, you must add the appropriate external record operator to the graph.
Use the ExternalRecordSource operator to receive the data from an external source. You can use the ExternalRecordSink operator to send the data to an external sink.
When composing and compiling, the graph handles the external connections similar to any other source or sink operator. However, the external ports are not managed by the standard DataFlow deadlock-sensing mechanism. To avoid these deadlocks, ensure there is a thread for each source or sink that produces or takes the data.
This thread cannot be the same thread running the LogicalGraph. The common usage pattern is to start the LogicalGraphInstance in the background using the start() method.