I cannot set input/output decorators to the SmileFactory, I get exceptions 
when I do that, the following is working but it is a shame I cannot use the 
SmileFactory + decorators:

  public static final ObjectMapper SNAPPY_OBJECT_MAPPER;
  public static final Charset UTF8=Charset.forName("UTF-8");


  static{
    final JsonFactory jsonFactory=new JsonFactory();
    jsonFactory.setInputDecorator(new InputDecorator()
    {
      @Override
      public InputStream decorate(IOContext context,InputStream inputStream) 
throws IOException
      {
        return new FramedSnappyCompressorInputStream(inputStream);
      }


      @Override
      public InputStream decorate(IOContext context,byte[] bytes,int offset,
int length) throws IOException
      {
        return new FramedSnappyCompressorInputStream(new 
ByteArrayInputStream(bytes,offset,length));
      }


      @Override
      public Reader decorate(IOContext context,Reader reader) throws 
IOException
      {
        return new InputStreamReader(new FramedSnappyCompressorInputStream(
new ReaderInputStream(reader)),UTF8);
      }
    });


    jsonFactory.setOutputDecorator(new OutputDecorator()
    {
      @Override
      public OutputStream decorate(IOContext context,OutputStream 
outputStream) throws IOException
      {
        return new FramedSnappyCompressorOutputStream(outputStream);
      }


      @Override
      public Writer decorate(IOContext context,Writer writer) throws 
IOException
      {
        return new OutputStreamWriter(new FramedSnappyCompressorOutputStream
(new WriterOutputStream(writer,UTF8)));
      }
    });


    SNAPPY_OBJECT_MAPPER=new ObjectMapper(jsonFactory).
       disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).
       disable(SerializationFeature.FAIL_ON_EMPTY_BEANS).
       setSerializationInclusion(JsonInclude.Include.NON_NULL).
       disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).
       registerModule(INT_RANGE_MODULE).
       registerModule(JODA_MODULE).
       registerModule(TAGS_MODULE);
  }


This is not a JMH brenchmark but I made sure I warmed before I took these 
times:

Json size: 1743kb
Json time: 17.322ms


Smile size: 624kb
Smile time: 12.619ms


Compressed Smile size: 556kb
Compressed Smile time: 12.003ms


Snappy size: 196kb
Snappy time: 89.368ms

Guido.

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to