title: Jersey + Jackson JSON date format serialization - how to change the format or use custom JacksonJsonProvider
body: <p>I am using Jersey + Jackson to provide REST JSON services layer for my application. The problem I have is that the default Date serialization format looks like that:</p>
  
  <pre><code>"CreationDate":1292236718456
  </code></pre>
  
  <p>At first I thought it is a UNIX timestamp... but it is too long for that. My client-side JS library has problems deserializing this format (it supports a bunch of different date formats but not this one I suppose). I want to change the format so that it can be consumable by my library (to ISO for example). How do I do that... I found a piece of code that could help but... where do I put it as I don't control the Jackson serializer  instantiation (Jersey does)?</p>
  
  <pre><code>objectMapper.configure(
      SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
  </code></pre>
  
  <p>I also found this code for custom <code>JacksonJsonProvider</code> - the question is .. how do I make all my POJO classes use it?</p>
  
  <pre><code>@Provider
  public class MessageBodyWriterJSON extends JacksonJsonProvider {
  
      private static final String DF = "yyyy-MM-dd’T'HH:mm:ss.SSSZ";
  
      @Override
      public boolean isWriteable(Class arg0, Type arg1, Annotation[] arg2,
              MediaType arg3) {
          return super.isWriteable(arg0, arg1, arg2,
                  arg3);
      }
      @Override
      public void writeTo(Object target, Class arg1, Type arg2, Annotation[] arg3,
              MediaType arg4, MultivaluedMap arg5, OutputStream outputStream)
              throws IOException, WebApplicationException {
              SimpleDateFormat sdf=new SimpleDateFormat(DF);
  
          ObjectMapper om = new ObjectMapper();
          om.getDeserializationConfig().setDateFormat(sdf);
          om.getSerializationConfig().setDateFormat(sdf);
          try {
              om.writeValue(outputStream, target);
          } catch (JsonGenerationException e) {
              throw e;
          } catch (JsonMappingException e) {
              throw e;
          } catch (IOException e) {
              throw e;
          }
      }
  }
  </code></pre>