public void consumeMessage(Message message) throws UnsupportedEncodingException { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // formatter.setTimeZone(TimeZone.getTimeZone("GMT")); formatter.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); String msg=""; try { msg = new String(message.getBody(), "UTF-8"); msg = StringEscapeUtils.unescapeJava(msg); msg = msg.substring(1,msg.length()-1); // log.info("收到的消息:{}", msg); if (!isJSONValid(msg)) { System.out.println("Does not conform to json format!"); return; } IdAuthInfo idAuthInfo = new Gson().fromJson(msg, IdAuthInfo.class); // log.info("收到的消息:{}", idAuthInfo.toString()); // 写入数据库 idAuthInfoMapper.insert(idAuthInfo); String nowTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss:SSS")); } catch (UnsupportedEncodingException e) { System.out.println("format error!"); e.printStackTrace(); } log.info("收到的消息:{}", msg); }
时间: 2024-04-28 22:21:32 浏览: 163
深入理解Java:SimpleDateFormat安全的时间格式化
5星 · 资源好评率100%
这是一个Java方法,用于消费消息。它接收一个Message对象作为参数,并抛出UnsupportedEncodingException异常。在方法中,它首先创建一个SimpleDateFormat对象,用于格式化日期和时间,并将时区设置为GMT+8:00。然后,它将字节数组转换为UTF-8编码的字符串,并对字符串进行一些处理,例如使用StringEscapeUtils.unescapeJava()方法取消转义字符,以及使用substring()方法去掉字符串的首尾引号。接着,它使用Gson库将JSON字符串转换为Java对象,并将对象写入数据库中。最后,它记录消息的内容并打印出来。
阅读全文