Java 类javax.ws.rs.container.AsyncResponse 实例源码

项目:redpipe    文件:MyResource.java   
@Path("3")
@GET
public void hello3(@Suspended final AsyncResponse asyncResponse,
          // Inject the Vertx instance
          @Context Vertx vertx){
    System.err.println("Creating client");
    HttpClientOptions options = new HttpClientOptions();
    options.setSsl(true);
    options.setTrustAll(true);
    options.setVerifyHost(false);
    HttpClient client = vertx.createHttpClient(options);
    client.getNow(443,
            "www.google.com", 
            "/robots.txt", 
            resp -> {
                System.err.println("Got response");
                resp.bodyHandler(body -> {
                    System.err.println("Got body");
                    asyncResponse.resume(Response.ok(body.toString()).build());
                });
            });
    System.err.println("Created client");
}
项目:Mastering-Java-EE-Development-with-WildFly    文件:AsyncResource.java   
@GET
@Path("/simple")
public void asyncGet(@Suspended final AsyncResponse asyncResponse) {

    new Thread(new Runnable() {
        @Override
        public void run() {
            String result = veryExpensiveOperation();
            asyncResponse.resume(result);
        }

        private String veryExpensiveOperation() {
            return new MagicNumber(3) + "";
        }
    }).start();
}
项目:redpipe    文件:MyResource.java   
@Path("6")
@GET
public void hello6(@Suspended final AsyncResponse asyncResponse,
          // Inject the Vertx instance
          @Context Vertx vertx){
    io.vertx.rxjava.core.Vertx rxVertx = io.vertx.rxjava.core.Vertx.newInstance(vertx);
    System.err.println("Creating client");
    WebClientOptions options = new WebClientOptions();
    options.setSsl(true);
    options.setTrustAll(true);
    options.setVerifyHost(false);
    WebClient client = WebClient.create(rxVertx, options);
    Single<HttpResponse<io.vertx.rxjava.core.buffer.Buffer>> responseHandler = client.get(443,
            "www.google.com", 
            "/robots.txt").rxSend();

    responseHandler.subscribe(body -> {
        System.err.println("Got body");
        asyncResponse.resume(Response.ok(body.body().toString()).build());
    });

    System.err.println("Created client");
}
项目:app-ms    文件:HelloResource.java   
@ApiOperation(value = "displays openid config of google async",
    hidden = true)
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/async")
public void async(@Suspended final AsyncResponse asyncResponse) throws InterruptedException,
    ExecutionException {

    final Future<Response> futureResponseFromClient = jaxrsClient.target("https://accounts.google.com/.well-known/openid-configuration").request().header(javax.ws.rs.core.HttpHeaders.USER_AGENT, "curl/7.55.1").async().get();

    final Response responseFromClient = futureResponseFromClient.get();
    try {
        final String object = responseFromClient.readEntity(String.class);
        asyncResponse.resume(object);
    } finally {
        responseFromClient.close();
    }
}
项目:uavstack    文件:GrafanaRestService.java   
/**
 * 根据配置得到所有dashboards
 */
@GET
@Path("dashboard/getdashboards")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
@SuppressWarnings("unchecked")
public void getDashboards(@Suspended AsyncResponse response) {

    CacheManager cacheManager = this.cm;
    String result = dashboardManagement.getDashboards(cacheManager);
    Map resultMap = new HashMap();
    String codeString = "00";
    String msgString = "获取配置信息成功";
    if (StringHelper.isEmpty(result)) {
        codeString = "01";
        msgString = "获取配置信息失败或配置信息不存在";
    }
    resultMap.put("code", codeString);
    resultMap.put("msg", msgString);
    resultMap.put("data", result);
    String resultMsg = JSONHelper.toString(resultMap);
    response.resume(resultMsg);
}
项目:uavstack    文件:ManageRestService.java   
@POST
@Path("delApp")
public void delApp(AppEntity appEntity, @Suspended AsyncResponse response) throws Exception {

    String id = appEntity.getAppid();
    String ctime = df.format(new Date());
    Map<String, Object> update = new HashMap<String, Object>();
    Map<String, Object> set = new HashMap<String, Object>();
    Map<String, Object> modify = new HashMap<String, Object>();
    Map<String, Object> where = new HashMap<String, Object>();

    where.put("appid", id);
    modify.put("where", where);
    set.put("state", 0);
    set.put("operationtime", ctime);
    set.put("operationuser", request.getSession(false).getAttribute("apphub.gui.session.login.user.id"));
    update.put("set", set);
    modify.put("update", update);

    Map<String, Object> jsonRequest = createHttpMapRequest(bussinessTypeModify, modify);
    Map<String, String> callBackInput = createInput(appEntity.getAppid(), null, "delete");
    manageHttpAsyncClientPost(manageTypeApp, jsonRequest, new AppHttpCallBack(response, callBackInput));
}
项目:uavstack    文件:ManageRestService.java   
@POST
@Path("addApp")
public void addApp(AppEntity appEntity, @Suspended AsyncResponse response) throws Exception {

    Map<String, Object> data = new HashMap<String, Object>();

    String appurl = XSSFilter(appEntity.getAppurl());
    String id = XSSFilter(appEntity.getAppid());
    String configpath = XSSFilter(appEntity.getConfigpath());
    String ctime = df.format(new Date());

    data.put("appid", id);
    data.put("appurl", appurl);
    data.put("configpath", configpath);
    data.put("state", 1);
    data.put("createtime", ctime);
    data.put("operationtime", ctime);
    data.put("operationuser", request.getSession(false).getAttribute("apphub.gui.session.login.user.id"));

    Map<String, Object> jsonRequest = createHttpMapRequest(bussinessTypeCreate, data);
    Map<String, String> callBackInput = createInput(id, appurl, "create");
    callBackInput.put("configpath", configpath);
    manageHttpAsyncClientPost(manageTypeApp, jsonRequest, new AppHttpCallBack(response, callBackInput));

}
项目:uavstack    文件:ManageRestService.java   
@POST
@Path("addGroup")
public void addGroup(GroupEntity groupEntity, @Suspended AsyncResponse response) throws Exception {

    String groupId = XSSFilter(groupEntity.getGroupid());
    String appIds = XSSFilter(groupEntity.getAppids());
    String time = df.format(new Date());
    Map<String, Object> data = new HashMap<String, Object>();
    data.put("groupid", groupId);
    data.put("appids", appIds);
    data.put("state", 1);
    data.put("createtime", time);
    data.put("operationtime", time);
    data.put("operationuser", request.getSession(false).getAttribute("apphub.gui.session.login.user.id"));

    Map<String, Object> jsonRequest = createHttpMapRequest(bussinessTypeCreate, data);
    Map<String, String> callBackInput = createInput(groupId, appIds, "create");
    manageHttpAsyncClientPost(manageTypeGroup, jsonRequest, new GroupHttpCallBack(response, callBackInput));
}
项目:uavstack    文件:GodEyeRestService.java   
/**
 * 
 * 从缓存查询最近1min的MonitorData
 * 
 * @param data
 * @param response
 */
private void loadMonitorDataFromCache(String data, @Suspended AsyncResponse response, String cacheKey) {

    UAVHttpMessage message = new UAVHttpMessage();

    message.setIntent("monitor");

    message.putRequest("cache.query.json", data);

    LoadMonitorDataFromCacheCB callback = new LoadMonitorDataFromCacheCB();
    callback.setCacheKey(cacheKey);
    callback.setData(data);
    callback.setGodeyeCacheRegion(godeyeCacheRegion);
    callback.setGodeyeFilterGroupCacheRegion(godeyeFilterGroupCacheRegion);
    callback.setResponse(response);

    this.doHttpPost("uav.app.godeye.healthmanager.http.addr", "/hm/cache/q", message, callback);
}
项目:uavstack    文件:GodEyeRestService.java   
/**
 * 显示当前app的最近实现的日志信息, 默认查询指定时间内的日志记录
 * 
 * @return
 */
@GET
@Path("log/q/hm/{appid}")
@Deprecated
public void getAppLog(@PathParam("appid") String appid, @QueryParam("timespan") String timespan,
        @QueryParam("psize") String pagesize, @Suspended AsyncResponse response) {

    try {

        // 默认:5分钟
        long timeLength = DataConvertHelper.toLong(timespan, 1000 * 60 * 5);
        // 默认不传limit
        StringBuilder data = new StringBuilder("{\"appid\":\"").append(appid).append("\", \"endtime\":")
                .append(System.currentTimeMillis() - timeLength);
        if (pagesize != null && StringHelper.isNumeric(pagesize)) {
            data.append(",\"psize\":").append(Long.parseLong(pagesize));
        }
        data.append("}");
        queryAppLog(data.toString(), response);
    }
    catch (Exception e) {
        logger.err(this, "Error:" + e.getMessage(), e);
    }
}
项目:uavstack    文件:GodEyeRestService.java   
@SuppressWarnings({ "unchecked" })
@POST
@Path("notify/q/stgy/hm")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void noitifyStrategyQuery(String data, @Suspended AsyncResponse response) throws Exception {

    Map<String, Object> params = JSONHelper.toObject(data, Map.class);
    int pagesize = (int) params.get("pagesize");
    int pageindex = (int) params.get("pageindex");
    Map<String, String> strategyMap = new HashMap<String, String>();
    strategyMap.put("keys", String.valueOf(params.get("inputValue")));
    // 封装http请求数据
    UAVHttpMessage message = new UAVHttpMessage();
    message.putRequest("body", JSONHelper.toString(strategyMap));
    message.setIntent("strategy.query");

    NoitifyStrategyQuery callback = new NoitifyStrategyQuery();
    callback.setResponse(response);
    callback.setPageindex(pageindex);
    callback.setPagesize(pagesize);

    doHttpPost("uav.app.godeye.notify.strategy.http.addr", "/rtntf/oper", message, callback);
}
项目:uavstack    文件:GodEyeRestService.java   
@POST
@Path("notify/get/stgy/hm")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void noitifyStrategyGet(String data, @Suspended AsyncResponse response) throws Exception {

    Map<String, String> strategyMap = new HashMap<String, String>();
    strategyMap.put("keys", data);
    // 封装http请求数据
    UAVHttpMessage message = new UAVHttpMessage();
    message.putRequest("body", JSONHelper.toString(strategyMap));
    message.setIntent("strategy.query");

    NoitifyStrategyGetCB callback = new NoitifyStrategyGetCB();
    callback.setResponse(response);
    doHttpPost("uav.app.godeye.notify.strategy.http.addr", "/rtntf/oper", message, callback);
}
项目:uavstack    文件:GodEyeRestService.java   
@POST
@Path("notify/del/stgy/hm")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void noitifyStrategyRemove(String data, @Suspended AsyncResponse response) throws Exception {

    // 封装http请求数据
    UAVHttpMessage message = new UAVHttpMessage();
    message.putRequest("body", data);
    message.setIntent("strategy.remove");

    NoitifyStrategyRemoveCB callback = new NoitifyStrategyRemoveCB();
    callback.setResponse(response);
    callback.setData(data);

    doHttpPost("uav.app.godeye.notify.strategy.http.addr", "/rtntf/oper", message, callback);
}
项目:uavstack    文件:GodEyeRestService.java   
@SuppressWarnings("unchecked")
@POST
@Path("filter/group/remove")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void groupFilterRemove(String data, @Suspended AsyncResponse response) {

    Map<String, Object> param = JSONHelper.toObject(data, Map.class);
    String emailListStr = String.valueOf(param.get("emailListName"));
    String resultMsg = "{\"code\":\"00\",\"msg\":\"删除成功\"}";

    Map<String, String> esistsMap = cm.getHash(godeyeFilterGroupCacheRegion, godeyeFilterGroupCacheRegionKey,
            emailListStr);
    if (esistsMap.get(emailListStr) != null) {
        cm.delHash(godeyeFilterGroupCacheRegion, godeyeFilterGroupCacheRegionKey, emailListStr);
    }
    else {
        resultMsg = "{\"code\":\"01\",\"msg\":\"邮箱组不存在\"}";
    }

    response.resume(resultMsg);
}
项目:uavstack    文件:ManageRestService.java   
@POST
@Path("updateGroup")
public void updateGroup(GroupEntity groupEntity, @Suspended AsyncResponse response) throws Exception {

    String groupId = XSSFilter(groupEntity.getGroupid());
    String appIds = XSSFilter(groupEntity.getAppids());
    String time = df.format(new Date());
    Map<String, Object> where = new HashMap<String, Object>();
    where.put("groupid", groupId);

    Map<String, Object> cloumns = new HashMap<String, Object>();
    cloumns.put("operationtime", time);
    cloumns.put("operationuser", request.getSession(false).getAttribute("apphub.gui.session.login.user.id"));
    cloumns.put("appids", appIds);

    Map<String, Object> set = new HashMap<String, Object>();
    set.put("set", cloumns);

    Map<String, Object> data = new HashMap<String, Object>();
    data.put("where", where);
    data.put("update", set);
    Map<String, Object> jsonRequest = createHttpMapRequest(bussinessTypeModify, data);
    Map<String, String> callBackInput = createInput(groupEntity.getGroupid(), appIds, "modify");
    manageHttpAsyncClientPost(manageTypeGroup, jsonRequest, new GroupHttpCallBack(response, callBackInput));
}
项目:uavstack    文件:ManageRestService.java   
@POST
@Path("loadAllApps")
public void loadAllApps(@Suspended AsyncResponse response) {

    Map<String, Object> data = new HashMap<String, Object>();
    Map<String, Object> where = new HashMap<String, Object>();
    data.put("where", where);

    HashMap<String, Object> sort = new HashMap<String, Object>();
    sort.put("values", "createtime");
    sort.put("sortorder", "-1");
    data.put("sort", sort);

    Map<String, Object> jsonRequest = createHttpMapRequest(bussinessTypeQuery, data);
    Map<String, String> callBackInput = createInput(null, null, "query");
    manageHttpAsyncClientPost(manageTypeApp, jsonRequest, new AppHttpCallBack(response, callBackInput));
}
项目:Mastering-Java-EE-Development-with-WildFly    文件:AsyncResource.java   
@GET
@Path("/withCallback")
public void asyncGetWithCallback(@Suspended final AsyncResponse asyncResponse) {
    asyncResponse.register(new CompletionCallback() {
        @Override
        public void onComplete(Throwable throwable) {
            if (throwable == null) {
                numberOfSuccessResponses++;
            } else {
                numberOfFailures++;
                lastException = throwable;
            }
        }
    });

    new Thread(new Runnable() {
        @Override
        public void run() {
            String result = veryExpensiveOperation();
            asyncResponse.resume(result);
        }

        private String veryExpensiveOperation() {
            return new MagicNumber(22) + "";
        }
    }).start();
}
项目:reactive-jax-rs    文件:ReactiveCustomerResource.java   
@PUT
@Consumes(MediaType.APPLICATION_JSON)
public void setCustomers(Flow.Publisher<Customer> customers, @Suspended AsyncResponse response) throws IOException {
  repository
    .save(customers)
    .subscribe(new Flow.Subscriber<>() {
      @Override
      public void onSubscribe(Flow.Subscription subscription) {
        subscription.request(Long.MAX_VALUE);
      }

      @Override
      public void onNext(Integer item) {
        System.out.println("=====  Customer Count: " + item);
      }

      @Override
      public void onError(Throwable throwable) {

      }

      @Override
      public void onComplete() {
        System.out.println("=====  Completed ");
        response.resume(Response.noContent().build());
      }
    });
}
项目:redpipe    文件:MyResource.java   
@Path("4")
@GET
public void hello4(@Suspended final AsyncResponse asyncResponse,
          // Inject the Vertx instance
          @Context Vertx vertx){
    System.err.println("Creating client");
    HttpClientOptions options = new HttpClientOptions();
    options.setSsl(true);
    options.setTrustAll(true);
    options.setVerifyHost(false);
    HttpClient client = vertx.createHttpClient(options);
    ObservableHandler<HttpClientResponse> responseHandler = RxHelper.observableHandler();
    client.getNow(443,
            "www.google.com", 
            "/robots.txt", 
            responseHandler.toHandler());

    ObservableHandler<Buffer> bodyHandler = RxHelper.observableHandler();
    responseHandler.subscribe(resp -> {
        System.err.println("Got response");
        resp.bodyHandler(bodyHandler.toHandler());
    });

    bodyHandler.subscribe(body -> {
        System.err.println("Got body");
        asyncResponse.resume(Response.ok(body.toString()).build());
    });
    System.err.println("Created client");
}
项目:redpipe    文件:MyResource.java   
@Path("5")
@GET
public void hello5(@Suspended final AsyncResponse asyncResponse,
          // Inject the Vertx instance
          @Context Vertx vertx){
    io.vertx.rxjava.core.Vertx rxVertx = io.vertx.rxjava.core.Vertx.newInstance(vertx);
    System.err.println("Creating client");
    HttpClientOptions options = new HttpClientOptions();
    options.setSsl(true);
    options.setTrustAll(true);
    options.setVerifyHost(false);
    io.vertx.rxjava.core.http.HttpClient client = rxVertx.createHttpClient(options);
    // DOES NOT WORK: https://github.com/vert-x3/vertx-rx/issues/13
    Observable<io.vertx.rxjava.core.http.HttpClientResponse> responseHandler = client.get(443,
            "www.google.com", 
            "/robots.txt").toObservable();

    responseHandler.map(resp -> {
        System.err.println("Got response");
        return resp.toObservable(); 
    })
    .subscribe(body -> {
        System.err.println("Got body");
        asyncResponse.resume(Response.ok(body.toString()).build());
    });

    System.err.println("Created client");
}
项目:javaee-calculator    文件:AdditionResource.java   
@POST
public void addition(@Suspended AsyncResponse response, JsonObject input) {
    response.setTimeout(500, TimeUnit.MILLISECONDS);
    response.setTimeoutHandler(this::handleTimeout);
    int a = ofNullable(input.getJsonNumber("a")).
            map(JsonNumber::intValue).
            orElseThrow(() -> new LackingParameterException("a"));
    int b = ofNullable(input.getJsonNumber("b")).
            map(JsonNumber::intValue).
            orElseThrow(() -> new LackingParameterException("b"));
    supplyAsync(() -> computeResult(a, b), mes).thenAccept(response::resume);
}
项目:javaee-calculator    文件:AdditionResource.java   
void handleTimeout(AsyncResponse response) {
    timeoutEscalations.fire("addition is too lazy today");
    Response info = Response.
            status(Response.Status.SERVICE_UNAVAILABLE).
            header("reason", "too lazy").
            build();
    response.resume(info);
}
项目:microprofile-opentracing    文件:TestServerWebServices.java   
/**
 * Async endpoint which creates local span.
 * @param asyncResponse holds state of the asynchronous processing
 */
@GET
@Path(REST_ASYNC_LOCAL_SPAN)
@Produces(MediaType.TEXT_PLAIN)
public void asyncLocalSpan(@Suspended final AsyncResponse asyncResponse) {
    finishChildSpan(startChildSpan(REST_LOCAL_SPAN));
    asyncResponse.resume(Response.ok().build());
}
项目:app-ms    文件:HelloResource.java   
@ApiOperation(value = "Timeout after 2 seconds")
@GET
@Path("/st")
@Produces(MediaType.TEXT_PLAIN)
public void st(@Suspended final AsyncResponse asyncResponse) throws InterruptedException {

    asyncResponse.setTimeout(1, TimeUnit.SECONDS);
    Thread.sleep(2000);
    asyncResponse.resume(Response.ok("hello").build());
}
项目:app-ms    文件:HelloResource.java   
@ApiOperation(value = "displays hello world after 2 seconds")
@GET
@Path("/suspend")
@Produces(MediaType.TEXT_PLAIN)
public void suspend(@Suspended final AsyncResponse asyncResponse) throws InterruptedException {

    Thread.sleep(2000);
    asyncResponse.resume(Response.ok("hello").build());
}
项目:app-ms    文件:HelloResource.java   
@ApiOperation(value = "upload a file")
@POST
@Path("/upload")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void upload(
    final MultipartFormDataInput input,
    @Suspended final AsyncResponse asyncResponse) throws IOException {

    final JsonObject json = new JsonObject();
    final Map<String, List<InputPart>> uploadForm = input.getFormDataMap();
    final List<InputPart> inputParts = uploadForm.get("uploadedFile");

    for (final InputPart inputPart : inputParts) {

        final MultivaluedMap<String, String> header = inputPart.getHeaders();
        final String fileName = getFileName(header);

        //fromJson the uploaded file to inputstream
        final InputStream inputStream = inputPart.getBody(InputStream.class, null);
        int c = 0;
        while (inputStream.read() != -1) {
            ++c;
        }

        json.add(fileName, new JsonPrimitive(c));
    }
    asyncResponse.resume(json);
}
项目:app-ms    文件:SecureHelloResource.java   
@ApiOperation(value = "displays hello world after a given amount of seconds seconds")
@GET
@Path("/suspend/{seconds}")
@Produces(MediaType.TEXT_PLAIN)
public void suspend(@Suspended final AsyncResponse asyncResponse,
    @PathParam("seconds") final int seconds) throws InterruptedException {

    Thread.sleep(seconds * 1000L);
    asyncResponse.resume(Response.ok("hello").build());
}
项目:java8-jersey2-guice4-webapp    文件:HelloResource.java   
@GET
@Path("hello/{name}")
@Produces(MediaType.APPLICATION_JSON)
public void sayHello(@Suspended AsyncResponse response,
                     @PathParam("name") String name) {
  helloService.sayHello(name)
    .thenAccept(response::resume);
}
项目:java8-jersey2-guice4-webapp-archetype    文件:HelloResource.java   
@GET
@Path("hello/{name}")
@Produces(MediaType.APPLICATION_JSON)
public void sayHello(@Suspended AsyncResponse response,
                     @PathParam("name") String name) {
  helloService.sayHello(name)
    .thenAccept(response::resume);
}
项目:Architecting-Modern-Java-EE-Applications    文件:UsersResource.java   
@POST
public void createUserAsync(User user, @Suspended AsyncResponse response) {

    response.setTimeout(5, TimeUnit.SECONDS);
    response.setTimeoutHandler(r ->
            r.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE)));

    mes.submit(() -> response.resume(createUser(user)));
}
项目:javaee-cdi-concurrency-utils    文件:TasksResource.java   
@POST
public void postTask(@Suspended final AsyncResponse resp) {
    String taskid = UUID.randomUUID().toString();
    ht.setTaskID(taskid);

    mes.submit(ht);
    System.out.println("submitted task " + taskid);
    resp.resume(Response.accepted(taskid).build());
}
项目:uavstack    文件:GUIService.java   
/**
 * 获取主页用户管理信息
 * 
 * @return
 */
@GET
@Path("loadUserManageInfo")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void loadUserManageInfo(@Suspended AsyncResponse response) {

    String result = "";
    String userGroup = String
            .valueOf(request.getSession(false).getAttribute("apphub.gui.session.login.user.group"));
    Map<String, String> manageGroup = cm.getHashAll("apphub.gui.cache", "manage.group");

    // 授权匹配
    if (manageGroup.containsKey(userGroup)) {
        Map<String, String> userManageInfo = new HashMap<String, String>();
        String[] userManAppids = manageGroup.get(userGroup).split(",");
        for (String appid : userManAppids) {
            Map<String, String> appinfo = cm.getHash("apphub.gui.cache", "manage.app", appid);
            userManageInfo.putAll(appinfo);
        }
        result = JSONHelper.toString(userManageInfo);
    }

    logger.info(this, "\r\nloadUserManageInfo\r\nuserGroup:" + userGroup + "\r\nmanageGroup:" + manageGroup
            + " \r\nresult:" + result);

    response.resume(result);

}
项目:uavstack    文件:DashboardManagement.java   
@SuppressWarnings({ "rawtypes", "unchecked" })
public void createDashboards(String configString, String contextPath, HttpServletRequest request, CacheManager cm,
        AsyncResponse response) {

    List<Map> configs = JSONHelper.toObjectArray(configString, Map.class);

    Map<String, Object> valueObjNewMap = getValueObjNewMap(configs);
    int countFailed = 0;
    List<String> listFailed = new ArrayList<String>();

    for (String appgroupName : valueObjNewMap.keySet()) {
        String orgId = getOrCreateOrgId(contextPath, appgroupName);

        Map<String, List> appidNewMap = (Map) valueObjNewMap.get(appgroupName);
        for (Map.Entry<String, List> entry : appidNewMap.entrySet()) {
            boolean createFd = callGrafanaDashBoardCreate(entry, request, contextPath, cm, appgroupName, orgId);
            if (createFd) {
                countFailed++;
                String strFailed = appgroupName + "___" + entry.getKey();
                listFailed.add(strFailed);
            }
        }
    }

    Map<String, String> resultMap = new HashMap<String, String>();
    String msgFailed = JSONHelper.toString(listFailed);
    String msgString = "有" + countFailed + "个dashboard创建失败";
    resultMap.put("code", "00");
    resultMap.put("msg", msgString);
    resultMap.put("data", msgFailed);
    String resultMsg = JSONHelper.toString(resultMap);
    response.resume(resultMsg);
}
项目:uavstack    文件:DashboardManagement.java   
@SuppressWarnings("unchecked")
public void deleteDashboard(String data, CacheManager cm, final AsyncResponse response) {

    Map<String, String> dataMap = JSONHelper.toObject(data, Map.class);
    String orgName = dataMap.get("appgroup");
    String dashboardName = dataMap.get("appid");
    String orgGroupKey = orgName + "___" + dashboardName;

    Map<String, String> orgIdMap = getRetCodeAndOrgId(orgName);
    String resultMsg = "{\"code\":\"00\",\"msg\":\"该dashboard所属的org不存在,仅删除配置信息\"}";
    if (orgIdMap.get("retCode").equals("404")) {
        cm.delHash(STORE_REGION_GODCOMPASSCACHE, STORE_KEY_GRAFANACONFIG, orgGroupKey);
        if (response != null) {
            response.resume(resultMsg);
        }
    }
    else if (orgIdMap.get("retCode").equals("200")) {
        Map<String, String> deleteHeader = new HashMap<String, String>();
        deleteHeader.put("X-Grafana-Org-Id", orgIdMap.get("orgId"));
        HttpResponse resDel = grafanaClient.doHttp("delete", "/api/dashboards/db/" + dashboardName.toLowerCase(),
                null, deleteHeader, null);

        if (resDel.getStatusLine().getStatusCode() == 200) {
            resultMsg = "{\"code\":\"00\",\"msg\":\"删除dashboard成功\"}";
            cm.delHash(STORE_REGION_GODCOMPASSCACHE, STORE_KEY_GRAFANACONFIG, orgGroupKey);
        }
        else if (resDel.getStatusLine().getStatusCode() == 404) {
            resultMsg = "{\"code\":\"00\",\"msg\":\"该dashboard不存在,仅删除配置信息\"}";
            cm.delHash(STORE_REGION_GODCOMPASSCACHE, STORE_KEY_GRAFANACONFIG, orgGroupKey);
        }
        if (response != null) {
            response.resume(resultMsg);
        }
    }

}
项目:uavstack    文件:GrafanaRestService.java   
/**
 * 根据配置创建dashboard
 */
@POST
@Path("dashboard/create")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void createDashboards(String data, @Suspended AsyncResponse response) {

    dashboardManagement.createDashboards(data,
            request.getServletContext().getRealPath("/uavapp_godcompass/grafana"), request, this.cm, response);
}
项目:uavstack    文件:GrafanaRestService.java   
/**
 * 根据配置修改dashboard
 */
@POST
@Path("dashboard/modify")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void modifyDashboard(String data, @Suspended AsyncResponse response) {

    dashboardManagement.modifyDashboard(data, request.getServletContext().getRealPath("/uavapp_godcompass/grafana"),
            request, this.cm, response);
}
项目:uavstack    文件:GrafanaRestService.java   
/**
 * 根据配置删除dashboard
 */
@POST
@Path("dashboard/delete")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void deleteDashboard(String data, @Suspended AsyncResponse response) {

    dashboardManagement.deleteDashboard(data, this.cm, response);
}
项目:netty-jersey-guice-swagger    文件:PingResource.java   
@GET
@Path("/async")
public void asyncPing(@Suspended final AsyncResponse response) {
    new Thread(() ->
        response.resume(Response.ok(pongService.getPong()).build())
    ).start();
}
项目:uavstack    文件:GodEyeRestService.java   
/**
 * 读取profile的某个lazy模式加载的数据
 * 
 * @param data
 * @param response
 */
@POST
@Path("profile/q/detail")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void loadAppProfileDetail(String data, @Suspended AsyncResponse response) {

    UAVHttpMessage message = new UAVHttpMessage(data);

    loadAppProfileListFromHttp(message, response);
}