src/main/java/edu/ucla/library/bucketeer/handlers/LoadCsvHandler.java
private void sendImageRequest(final String aListener, final JsonObject aJsonObject) {
        final DeliveryOptions options = new DeliveryOptions().setSendTimeout(Integer.MAX_VALUE);

        myVertx.eventBus().request(aListener, aJsonObject, options, response -> {
            if (response.failed()) {
                final Throwable exception = response.cause();

                if (exception != null) {
                    if (exception instanceof ReplyException) {
                        final ReplyException replyException = (ReplyException) exception;
                        final String messageCode = CodeUtils.getCode(replyException.failureCode());
                        final String details = replyException.getMessage();

                        LOGGER.error(MessageCodes.BUCKETEER_005, aListener, LOGGER.getMessage(messageCode, details));
                    } else {
                        LOGGER.error(MessageCodes.BUCKETEER_005, aListener, exception.getMessage());
                    }
                } else {
                    LOGGER.error(MessageCodes.BUCKETEER_005, aListener, LOGGER.getMessage(MessageCodes.BUCKETEER_136));
                }

                // If we have a failure in processing this item, mark it as a failure
                sendMessage(myVertx, aJsonObject, ItemFailureVerticle.class.getName());
            } else if (response.result().body().equals(Op.RETRY)) {
                myVertx.setTimer(myRequeueDelay, timer -> {
                    sendImageRequest(aListener, aJsonObject);
                });
            }
        });
    }
/**
     * This message sender is specifically for item processing requests; it behaves differently from the default message
     * sender that our other handlers use.
     *
     * @param aJsonObject A message
     * @param aListener The destination of the message
     * @param aTimeout A timeout period before the send is considered a failure
     */
This message sender is specifically for item processing requests; it behaves differently from the default message
sender that our other handlers use.

@param aJsonObject A message
@param aListener The destination of the message
@param aTimeout A timeout period before the send is considered a failure
This message sender is specifically for item processing requests ; it behaves differently from the default message sender that our other handlers use . @param aJsonObject A message @param aListener The destination of the message @param aTimeout A timeout period before the send is considered a failure
private void sendImageRequest(final String aListener, final JsonObject aJsonObject) {
        final DeliveryOptions options = new DeliveryOptions().setSendTimeout(Integer.MAX_VALUE);
        myVertx.eventBus().request(aListener, aJsonObject, options, response -> {
            if (response.failed()) {
                final Throwable exception = response.cause();
                if (exception != null) {
                    if (exception instanceof ReplyException) {
                        final ReplyException replyException = (ReplyException) exception;
                        final String messageCode = CodeUtils.getCode(replyException.failureCode());
                        final String details = replyException.getMessage();
                        LOGGER.error(MessageCodes.BUCKETEER_005, aListener, LOGGER.getMessage(messageCode, details));
                    } else {
                        LOGGER.error(MessageCodes.BUCKETEER_005, aListener, exception.getMessage());
                    }
                } else {
                    LOGGER.error(MessageCodes.BUCKETEER_005, aListener, LOGGER.getMessage(MessageCodes.BUCKETEER_136));
                }
                sendMessage(myVertx, aJsonObject, ItemFailureVerticle.class.getName());
            } else if (response.result().body().equals(Op.RETRY)) {
                myVertx.setTimer(myRequeueDelay, timer -> {
                    sendImageRequest(aListener, aJsonObject);
                });
            }
        });
    }
private void sendImageRequest ( final String aListener , final JsonObject aJsonObject ) { final DeliveryOptions options = new DeliveryOptions ( ) . setSendTimeout ( Integer . MAX_VALUE ) ; myVertx . eventBus ( ) . request ( aListener , aJsonObject , options , response -> { if ( response . failed ( ) ) { final Throwable exception = response . cause ( ) ; if ( exception != null ) { if ( exception instanceof ReplyException ) { final ReplyException replyException = ( ReplyException ) exception ; final String messageCode = CodeUtils . getCode ( replyException . failureCode ( ) ) ; final String details = replyException . getMessage ( ) ; LOGGER . error ( MessageCodes . BUCKETEER_005 , aListener , LOGGER . getMessage ( messageCode , details ) ) ; } else { LOGGER . error ( MessageCodes . BUCKETEER_005 , aListener , exception . getMessage ( ) ) ; } } else { LOGGER . error ( MessageCodes . BUCKETEER_005 , aListener , LOGGER . getMessage ( MessageCodes . BUCKETEER_136 ) ) ; } sendMessage ( myVertx , aJsonObject , ItemFailureVerticle . class . getName ( ) ) ; } else if ( response . result ( ) . body ( ) . equals ( Op . RETRY ) ) { myVertx . setTimer ( myRequeueDelay , timer -> { sendImageRequest ( aListener , aJsonObject ) ; } ) ; } } ) ; }
This message sender is specifically for item processing requests; it behaves differently from the default message
 sender that our other handlers use.
This message sender is specifically for item processing requests ; it behaves differently from the default message sender that our other handlers use .
// If we have a failure in processing this item, mark it as a failure