修复由于静态引用SimpleDateFormat导致线程不安全的代码

This commit is contained in:
BinaryWang
2016-09-09 09:43:01 +08:00
parent 3ab8a3c7c6
commit f66c0b02e2
6 changed files with 102 additions and 71 deletions

View File

@@ -1,7 +1,9 @@
package me.chanjar.weixin.mp.util.json;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.text.Format;
import org.apache.commons.lang3.time.FastDateFormat;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
@@ -11,7 +13,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
* Created by Binary Wang on 2016/7/13.
*/
public class WxLongTimeJsonSerializer extends JsonSerializer<Long> {
private static SimpleDateFormat DF = new SimpleDateFormat(
private static Format DF = FastDateFormat.getInstance(
"yyyy-MM-dd HH:mm:ss");
@Override

View File

@@ -8,13 +8,19 @@
*/
package me.chanjar.weixin.mp.util.json;
import com.google.gson.*;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate;
import java.lang.reflect.Type;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.apache.commons.lang3.time.FastDateFormat;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate;
/**
*
@@ -23,7 +29,8 @@ import java.text.SimpleDateFormat;
*/
public class WxMpUserCumulateGsonAdapter implements JsonDeserializer<WxDataCubeUserCumulate> {
private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
private static final FastDateFormat SIMPLE_DATE_FORMAT = FastDateFormat
.getInstance("yyyy-MM-dd");
@Override
public WxDataCubeUserCumulate deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {

View File

@@ -8,20 +8,27 @@
*/
package me.chanjar.weixin.mp.util.json;
import com.google.gson.*;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary;
import java.lang.reflect.Type;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.apache.commons.lang3.time.FastDateFormat;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary;
/**
* @author Daniel Qian
*/
public class WxMpUserSummaryGsonAdapter implements JsonDeserializer<WxDataCubeUserSummary> {
private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
private static final FastDateFormat SIMPLE_DATE_FORMAT = FastDateFormat
.getInstance("yyyy-MM-dd");
@Override
public WxDataCubeUserSummary deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)