package io.gatling.jsonbenchmark.serializerTests; import java.text.SimpleDateFormat; import java.util.Locale; import java.util.TimeZone; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; public class JacksonSerializerImpl implements DataSerializer { private final ObjectMapper mapper = initMapper(); private ObjectMapper initMapper() { ObjectMapper m = new ObjectMapper().enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US); formatter.setTimeZone(TimeZone.getTimeZone("GMT")); m.setDateFormat(formatter); return m; } @Override public String serialize(Object data) { try { return mapper.writeValueAsString(data); } catch (JsonProcessingException e) { e.printStackTrace(); return null; } } }