4.5.9 DRRealtimeCollector

The realtime collector implements the DRRealtimeThreadAgent class.

As previously described, the realtime collector may choose to implement the consume method to handle request/response mechanisms. To tell the Workflow Editor that this capability exists, the Inspectable for the collector must return the response UDR Type in the getInputTypes method.

When you create an agent which can use a "lazy" method of decoding, if an error occurs during lazy decoding in the agent that includes APL code configuration, a DRUnwindException is thrown. This exception must be caught to prevent the workflow from aborting.

To catch a DRUnwindException in the collector agent, you can use the function block provided below. Alternatively, you can catch this exception, by adding the try-catch function block to the APL code included in the workflow. For further information on try-catch, see 1.4.9 exceptionHandling in APL Reference Guide.

catch(final DRUnwindException e){
  if(e.getAction() == DRUnwindException.CONTINUE) {
     logger.log(Level.WARNING, "An error message", e);
  } else {
     throw e;
  }
}