public static void consumeTPVObject(TPVObject tpv, Processor processor, GpsdEndpoint endpoint, ExceptionHandler exceptionHandler) {
        // Simplify logging when https://github.com/taimos/GPSd4Java/pull/19 is merged into upstream.
        LOG.debug("About to consume TPV object {},{} from {}", tpv.getLatitude(), tpv.getLongitude(), endpoint);

        Validate.notNull(tpv);
        Validate.notNull(processor);
        Validate.notNull(endpoint);

        GpsCoordinates coordinates = gpsCoordinates(new Date(new Double(tpv.getTimestamp()).longValue()), tpv.getLatitude(), tpv.getLongitude());
        Exchange exchange = anExchange(endpoint.getCamelContext()).withPattern(OutOnly).
                withHeader(TPV_HEADER, tpv).withBody(coordinates).build();

        try {
            processor.process(exchange);
        } catch (Exception e) {
            exceptionHandler.handleException(e);
        }
    }
public static void consumeTPVObject ( TPVObject tpv , Processor processor , GpsdEndpoint endpoint , ExceptionHandler exceptionHandler ) { LOG . debug ( "About to consume TPV object {},{} from {}" , tpv . getLatitude ( ) , tpv . getLongitude ( ) , endpoint ) ; Validate . notNull ( tpv ) ; Validate . notNull ( processor ) ; Validate . notNull ( endpoint ) ; GpsCoordinates coordinates = gpsCoordinates ( new Date ( new Double ( tpv . getTimestamp ( ) ) . longValue ( ) ) , tpv . getLatitude ( ) , tpv . getLongitude ( ) ) ; Exchange exchange = anExchange ( endpoint . getCamelContext ( ) ) . withPattern ( OutOnly ) . withHeader ( TPV_HEADER , tpv ) . withBody ( coordinates ) . build ( ) ; try { processor . process ( exchange ) ; } catch ( Exception e ) { exceptionHandler . handleException ( e ) ; } }
Process the TPVObject, all params required.

@param tpv The time-position-velocity object to process
@param processor Processor that handles the exchange.
@param endpoint GpsdEndpoint receiving the exchange.