That's the JVM limit to number of array elements, near as I can tell. On Tuesday, November 28, 2017 at 4:41:28 PM UTC-7, Tatu Saloranta wrote: > > Is that limit for your memory or something else? > > -+ Tatu +- > > On Tue, Nov 28, 2017 at 1:09 PM, Rob Sargent <[email protected] > <javascript:>> wrote: > > Thank you! I was hitting 2^31 byte limit before I SHAPE annotation but > have > > squeezed past that now. Will see what 'MINIMAL_CLASS' does. > > > > > > On Monday, November 27, 2017 at 1:33:00 PM UTC-7, Tatu Saloranta wrote: > >> > >> On Mon, Nov 27, 2017 at 12:02 PM, Rob Sargent <[email protected]> > wrote: > >> > I'm wondering if I can reduce the array structure any further, from > >> > [[classname,[comma, separated, values] [classname,[comma, separated, > >> > values]] > >> > to [classname[comma, separated, values] [comma, separated, values]] > >> > > >> > Thanks for any pointers. > >> > >> That is about as compact as default handlers allow, with one minor > >> difference: you could use `MINIMAL_CLASS` > >> instead of `CLASS` to likely further reduce class name portion. > >> There is no out-of-the-box mechanism for associating polymorphic type > >> to container, however; for that you would > >> need custom deserializer (or perhaps in theory custom `TypeSerializer` > >> / `TypeDeserializer`, but probably not worth > >> the hassle over custom (de)serializer. > >> > >> So I would probably just write custom `JsonSerializer` / > >> `JsonDeserializer` pair if compactness is very important. > >> > >> -+ Tatu +- > >> > >> > > >> > I'm using an ObjectMapper defined as: > >> > private ObjectMapper getObjectMapper() { > >> > if (objectMapper == null) { > >> > objectMapper = new ObjectMapper(); > >> > > objectMapper.configure(SerializationFeature.INDENT_OUTPUT, > >> > false); > >> > > >> > objectMapper.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, > >> > false); > >> > > >> > //objectmapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, > >> > false); > >> > objectMapper.setSerializationInclusion(Include.NON_NULL); > >> > } > >> > return objectMapper; > >> > } > >> > > >> > > >> > And the pojos are annotated as > >> > @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, > >> > include=JsonTypeInfo.As.PROPERTY, > >> > property="class") > >> > > @JsonTypeName("edu.utah.camplab.db.generated.base.tables.pojos.Alias") > >> > @JsonFormat(shape=JsonFormat.Shape.ARRAY) > >> > @JsonPropertyOrder(alphabetic=true) > >> > public class Segment implements Serializable { > >> > ... > >> > > >> > > >> > The overall payload for these segments is > >> > public class SegmentBlock { > >> > private Map<String, Segmentset> segmentsetMap = null; > >> > private Map<String, List<Segment>> segmentMap = null; > >> > > >> > public SegmentBlock() { } > >> > ... > >> > > >> > > >> > The Map<String, List<Segment>> shows up as: > >> > > >> > > "101869,104285,107387,113264,30755,32213,84261,86148,87462,89260,89343":[ > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,337017,1,0,4,19,null,46,null,null,293562]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,774193,0,1,4,111,null,144,null,null,677629]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,822967,0,1,4,146,null,170,null,null,774709]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,2035907,0,0,5,438,null,459,null,null,1997064]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,2231210,2,0,3,485,null,507,null,null,2120487]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,3614445,0,0,5,709,null,730,null,null,3509056]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,3718848,1,1,3,735,null,756,null,null,3639782]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,4704467,0,1,4,854,null,885,null,null,4431105]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,7926627,0,0,5,1528,null,1548,null,null,7781460]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,66292957,0,0,5,6422,null,6441,null,null,66107705]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,70676534,0,0,5,6815,null,6839,null,null,70500809]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,77370138,0,0,5,7593,null,7623,null,null,77302778]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,78660658,0,0,5,7835,null,7857,null,null,78509079]], > > > >> > > >> > > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[16,88970818,0,0,5,9977,null,10003,null,null,88872145]]] > > > >> > > >> > Is there any way to get the above back as something like: > >> > > >> > > >> > > "101869,104285,107387,113264,30755,32213,84261,86148,87462,89260,89343":[ > >> > ["e.u.c.db.generated.default_schema.tables.pojos.Segment",[ > >> > [16,337017,1,0,4,19,null,46,null,null,293562], > >> > ,[16,774193,0,1,4,111,null,144,null,null,677629], > >> > ,[16,822967,0,1,4,146,null,170,null,null,774709], > >> > ,[16,2035907,0,0,5,438,null,459,null,null,1997064], > >> > ,[16,2231210,2,0,3,485,null,507,null,null,2120487], > >> > ,[16,3614445,0,0,5,709,null,730,null,null,3509056], > >> > ,[16,3718848,1,1,3,735,null,756,null,null,3639782], > >> > ,[16,4704467,0,1,4,854,null,885,null,null,4431105], > >> > ,[16,7926627,0,0,5,1528,null,1548,null,null,7781460], > >> > ,[16,66292957,0,0,5,6422,null,6441,null,null,66107705], > >> > ,[16,70676534,0,0,5,6815,null,6839,null,null,70500809], > >> > ,[16,77370138,0,0,5,7593,null,7623,null,null,77302778], > >> > ,[16,78660658,0,0,5,7835,null,7857,null,null,78509079], > >> > ,[16,88970818,0,0,5,9977,null,10003,null,null,88872145]]]] > >> > > >> > -- > >> > 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. > > > > -- > > 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] <javascript:>. > > To post to this group, send email to [email protected] > <javascript:>. > > For more options, visit https://groups.google.com/d/optout. >
-- 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.
