zoukankan      html  css  js  c++  java
  • 消息成功失败回调demo

    /***/
     @Service
    public class MessageTask {
    private static final Logger LOGGER = LoggerFactory.getLogger(MessageTask.class);

    private static AsyncRestTemplate restTemplate = new AsyncRestTemplate();

    static {
    restTemplate.setMessageConverters(Arrays.asList(new FormHttpMessageConverter(), new StringHttpMessageConverter()));
    }

    @Scheduled(fixedDelay = 2000)
    public void send() {
    HttpEntity<MultiValueMap<String, Object>> request = MessageUtils.getMessage();
    if (request == null) {
    return;
    }
    final String finalMsg = (String) request.getBody().get("content").get(0);
    final String userId = (String) request.getBody().get("userId").get(0);
    try {
    // ListenableFuture<ResponseEntity<String>> future = restTemplate.postForEntity("http://xxx.com/api/mail.aspx?name=newMail", request, String.class);
    ListenableFuture<ResponseEntity<String>> future = restTemplate.postForEntity("http://xxx.com/api/mail.aspx?name=newMail", request, String.class);
    future.addCallback(new ListenableFutureCallback<ResponseEntity<String>>() {
    @Override
    public void onSuccess(ResponseEntity<String> result) {
    LOGGER.debug(result.getBody());
    }

    @Override
    public void onFailure(Throwable t) {
    LOGGER.error("userId:" + userId + ",msg:" + finalMsg + ",exception:" + t.getMessage(), t);
    }
    });
    } catch (Exception e) {
    LOGGER.error("userId:" + userId + ",msg:" + finalMsg, e);
    }
    }

    }
  • 相关阅读:
    Codeforces 678E 状压DP
    Codeforces 667C DP
    POJ 3017 DP + 单调队列 + 堆
    Codeforces 1154F (DP)
    Codeforces 1154G 枚举
    Codeforces 1153D 树形DP
    Codeforces 1109E 线段树
    Codeforces 1109C 线段树
    Codeforces 1109D (树的计数问题)
    async/await
  • 原文地址:https://www.cnblogs.com/xmanblue/p/6381621.html
Copyright © 2011-2022 走看看