Example usage for io.vertx.core.eventbus Message reply

List of usage examples for io.vertx.core.eventbus Message reply

Introduction

In this page you can find the example usage for io.vertx.core.eventbus Message reply.

Prototype

default void reply(@Nullable Object message) 

Source Link

Document

Reply to this message.

Usage

From source file:com.cyngn.vertx.bosun.BosunReporter.java

License:Apache License

/**
 * Send data to the bosun instance/*from w ww . j  a  v  a2 s. c o  m*/
 *
 * @param api the api on bosun to send to
 * @param data the json data to send
 * @param message the event bus message the request originated from
 */
private void sendData(String api, String data, Message message) {
    HttpClient client = getNextHost();

    Buffer buffer = Buffer.buffer(data.getBytes());

    client.post(api).exceptionHandler(error -> {
        sendError(message, "Got ex contacting bosun, " + error.getLocalizedMessage());
    }).handler(response -> {
        int statusCode = response.statusCode();
        // is it 2XX
        if (statusCode >= HttpResponseStatus.OK.code()
                && statusCode < HttpResponseStatus.MULTIPLE_CHOICES.code()) {
            message.reply(new JsonObject().put(RESULT_FIELD, BosunResponse.OK_MSG));
        } else {
            response.bodyHandler(responseData -> {
                sendError(message, "got non 200 response from bosun, error: " + responseData, statusCode);
            });
        }
    }).setTimeout(timeout).putHeader(HttpHeaders.CONTENT_LENGTH, buffer.length() + "")
            .putHeader(HttpHeaders.CONTENT_TYPE, MediaType.JSON_UTF_8.toString()).write(buffer).end();
}

From source file:com.cyngn.vertx.opentsdb.service.OpenTsDbService.java

License:Apache License

private void processMetricBatch(Message<JsonObject> message) {
    JsonArray metricsObjects = message.body().getJsonArray(MetricsParser.METRICS_FIELD);

    if (metricsObjects == null) {
        String errMsg = String.format("invalid batch message request no 'metrics' field supplied, msg: %s",
                message.body());//  w  ww  .j  av a2  s . c  o  m
        logger.warn(errMsg);
        sendError(message, errMsg);
    }

    // roll through and add all the metrics
    for (int i = 0; i < metricsObjects.size(); i++) {
        String metric = metricsParser.createMetricString(message, metricsObjects.getJsonObject(i));
        if (metric != null) {
            if (!addMetric(null, metric)) {
                reportFullBacklog(message);
                break;
            }
        } else {
            // something is bad in the batch, the parsers error handler will reply to the message as failed
            return;
        }
    }
    message.reply(OK_REPLY);
}

From source file:com.cyngn.vertx.opentsdb.service.OpenTsDbService.java

License:Apache License

private boolean addMetric(Message message, String metric) {
    boolean added = true;
    if (isNotFull()) {
        // put the metric in the work queue
        metrics.add(metric);//from   w  w w.j  a  v  a  2  s .  co  m
        if (message != null) {
            message.reply(OK_REPLY);
        }
    } else {
        if (message != null) {
            reportFullBacklog(message);
        }
        added = false;
    }
    return added;
}

From source file:com.diabolicallabs.process.manager.service.KnowledgeServiceFactoryVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {/*  w w  w.  ja va 2 s.c  om*/
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "getKnowledgeService": {
            service.getKnowledgeService(res -> {
                if (res.failed()) {
                    if (res.cause() instanceof ServiceException) {
                        msg.reply(res.cause());
                    } else {
                        msg.reply(new ServiceException(-1, res.cause().getMessage()));
                    }
                } else {
                    String proxyAddress = UUID.randomUUID().toString();
                    ProxyHelper.registerService(KnowledgeService.class, vertx, res.result(), proxyAddress,
                            false, timeoutSeconds);
                    msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                }
            });
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}

From source file:com.diabolicallabs.process.manager.service.KnowledgeServiceVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {//from w w w. j av a2s  .  c  om
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "addClassPathResource": {
            service.addClassPathResource((java.lang.String) json.getValue("resourceName"), createHandler(msg));
            break;
        }
        case "addFileResource": {
            service.addFileResource((java.lang.String) json.getValue("fileName"), createHandler(msg));
            break;
        }
        case "processDefinitions": {
            service.processDefinitions(createHandler(msg));
            break;
        }
        case "getProcessService": {
            service.getProcessService(res -> {
                if (res.failed()) {
                    if (res.cause() instanceof ServiceException) {
                        msg.reply(res.cause());
                    } else {
                        msg.reply(new ServiceException(-1, res.cause().getMessage()));
                    }
                } else {
                    String proxyAddress = UUID.randomUUID().toString();
                    ProxyHelper.registerService(ProcessService.class, vertx, res.result(), proxyAddress, false,
                            timeoutSeconds);
                    msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                }
            });
            break;
        }
        case "getRuleService": {
            service.getRuleService(res -> {
                if (res.failed()) {
                    if (res.cause() instanceof ServiceException) {
                        msg.reply(res.cause());
                    } else {
                        msg.reply(new ServiceException(-1, res.cause().getMessage()));
                    }
                } else {
                    String proxyAddress = UUID.randomUUID().toString();
                    ProxyHelper.registerService(RuleService.class, vertx, res.result(), proxyAddress, false,
                            timeoutSeconds);
                    msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                }
            });
            break;
        }
        case "getTaskService": {
            service.getTaskService(res -> {
                if (res.failed()) {
                    if (res.cause() instanceof ServiceException) {
                        msg.reply(res.cause());
                    } else {
                        msg.reply(new ServiceException(-1, res.cause().getMessage()));
                    }
                } else {
                    String proxyAddress = UUID.randomUUID().toString();
                    ProxyHelper.registerService(TaskService.class, vertx, res.result(), proxyAddress, false,
                            timeoutSeconds);
                    msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                }
            });
            break;
        }
        case "getTaskServiceAddress": {
            service.getTaskServiceAddress(createHandler(msg));
            break;
        }
        case "close": {
            service.close();
            close();
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}

From source file:com.diabolicallabs.process.manager.service.ProcessInstanceServiceVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {//from   www.  jav  a  2 s.  c  o m
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "abort": {
            service.abort(createHandler(msg));
            break;
        }
        case "start": {
            service.start(createHandler(msg));
            break;
        }
        case "getInstanceId": {
            service.getInstanceId(createHandler(msg));
            break;
        }
        case "getName": {
            service.getName(createHandler(msg));
            break;
        }
        case "getParentInstanceId": {
            service.getParentInstanceId(createHandler(msg));
            break;
        }
        case "getState": {
            service.getState(createHandler(msg));
            break;
        }
        case "signalEvent": {
            service.signalEvent((java.lang.String) json.getValue("eventName"),
                    (io.vertx.core.json.JsonObject) json.getValue("data"), createHandler(msg));
            break;
        }
        case "close": {
            service.close();
            close();
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}

From source file:com.diabolicallabs.process.manager.service.ProcessServiceVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {/* w w  w .  j  a va2s .  c o  m*/
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "abort": {
            service.abort(json.getValue("processInstanceId") == null ? null
                    : (json.getLong("processInstanceId").longValue()), createHandler(msg));
            break;
        }
        case "create": {
            service.create((java.lang.String) json.getValue("processId"), res -> {
                if (res.failed()) {
                    if (res.cause() instanceof ServiceException) {
                        msg.reply(res.cause());
                    } else {
                        msg.reply(new ServiceException(-1, res.cause().getMessage()));
                    }
                } else {
                    String proxyAddress = UUID.randomUUID().toString();
                    ProxyHelper.registerService(ProcessInstanceService.class, vertx, res.result(), proxyAddress,
                            false, timeoutSeconds);
                    msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                }
            });
            break;
        }
        case "createWithVariables": {
            service.createWithVariables((java.lang.String) json.getValue("processId"),
                    (io.vertx.core.json.JsonObject) json.getValue("variables"), res -> {
                        if (res.failed()) {
                            if (res.cause() instanceof ServiceException) {
                                msg.reply(res.cause());
                            } else {
                                msg.reply(new ServiceException(-1, res.cause().getMessage()));
                            }
                        } else {
                            String proxyAddress = UUID.randomUUID().toString();
                            ProxyHelper.registerService(ProcessInstanceService.class, vertx, res.result(),
                                    proxyAddress, false, timeoutSeconds);
                            msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                        }
                    });
            break;
        }
        case "signalEvent": {
            service.signalEvent((java.lang.String) json.getValue("eventName"),
                    (io.vertx.core.json.JsonObject) json.getValue("data"), createHandler(msg));
            break;
        }
        case "signalEventForProcess": {
            service.signalEventForProcess((java.lang.String) json.getValue("eventName"),
                    json.getValue("processInstanceId") == null ? null
                            : (json.getLong("processInstanceId").longValue()),
                    (io.vertx.core.json.JsonObject) json.getValue("data"), createHandler(msg));
            break;
        }
        case "startProcess": {
            service.startProcess((java.lang.String) json.getValue("processId"), res -> {
                if (res.failed()) {
                    if (res.cause() instanceof ServiceException) {
                        msg.reply(res.cause());
                    } else {
                        msg.reply(new ServiceException(-1, res.cause().getMessage()));
                    }
                } else {
                    String proxyAddress = UUID.randomUUID().toString();
                    ProxyHelper.registerService(ProcessInstanceService.class, vertx, res.result(), proxyAddress,
                            false, timeoutSeconds);
                    msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                }
            });
            break;
        }
        case "startProcessWithVariables": {
            service.startProcessWithVariables((java.lang.String) json.getValue("processId"),
                    (io.vertx.core.json.JsonObject) json.getValue("jsonObject"), res -> {
                        if (res.failed()) {
                            if (res.cause() instanceof ServiceException) {
                                msg.reply(res.cause());
                            } else {
                                msg.reply(new ServiceException(-1, res.cause().getMessage()));
                            }
                        } else {
                            String proxyAddress = UUID.randomUUID().toString();
                            ProxyHelper.registerService(ProcessInstanceService.class, vertx, res.result(),
                                    proxyAddress, false, timeoutSeconds);
                            msg.reply(null, new DeliveryOptions().addHeader("proxyaddr", proxyAddress));
                        }
                    });
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}

From source file:com.diabolicallabs.process.manager.service.RuleServiceVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {//from www  .j  av  a  2s.  c o m
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "delete": {
            service.delete((java.lang.String) json.getValue("factHandle"), createHandler(msg));
            break;
        }
        case "fireAllRules": {
            service.fireAllRules(createHandler(msg));
            break;
        }
        case "getQueryResults": {
            service.getQueryResults((java.lang.String) json.getValue("queryName"),
                    (java.lang.String) json.getValue("resultName"), createHandler(msg));
            break;
        }
        case "insert": {
            service.insert((java.lang.String) json.getValue("packageName"),
                    (java.lang.String) json.getValue("typeName"),
                    (io.vertx.core.json.JsonObject) json.getValue("attributes"), createHandler(msg));
            break;
        }
        case "update": {
            service.update((java.lang.String) json.getValue("factHandle"),
                    (java.lang.String) json.getValue("factType"),
                    (io.vertx.core.json.JsonObject) json.getValue("attributes"), createHandler(msg));
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}

From source file:com.diabolicallabs.process.manager.service.TaskServiceVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {/*from   w  w  w.ja  va2 s  . c  o m*/
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "addComment": {
            service.addComment(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), (java.lang.String) json.getValue("comment"),
                    createHandler(msg));
            break;
        }
        case "claim": {
            service.claim(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        case "complete": {
            service.complete(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"),
                    (io.vertx.core.json.JsonObject) json.getValue("data"), createHandler(msg));
            break;
        }
        case "delegate": {
            service.delegate(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), (java.lang.String) json.getValue("newUserId"),
                    createHandler(msg));
            break;
        }
        case "exit": {
            service.exit(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        case "fail": {
            service.fail(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"),
                    (io.vertx.core.json.JsonObject) json.getValue("data"), createHandler(msg));
            break;
        }
        case "forward": {
            service.forward(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), (java.lang.String) json.getValue("newUserId"),
                    createHandler(msg));
            break;
        }
        case "getContent": {
            service.getContent(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    createHandler(msg));
            break;
        }
        case "release": {
            service.release(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        case "resume": {
            service.resume(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        case "skip": {
            service.skip(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        case "start": {
            service.start(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        case "stop": {
            service.stop(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        case "suspend": {
            service.suspend(json.getValue("taskId") == null ? null : (json.getLong("taskId").longValue()),
                    (java.lang.String) json.getValue("userId"), createHandler(msg));
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}

From source file:com.edgar.vertx.service.discovery.eventbus.MyServiceVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {//  w w  w  .ja va 2s .  c o  m
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {
        case "say": {
            service.say();
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}