消息成功失败回调demo

it2022-05-08  11

/***/ @Servicepublic 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); } } }

转载于:https://www.cnblogs.com/wangdaijun/p/6381621.html


最新回复(0)