[infinispan-dev] REST server, dealing with Serializable

Gustavo Fernandes gustavo at infinispan.org
Mon Apr 24 04:45:20 EDT 2017


With the upcoming transcoding support [1], each cache will have a MimeType
configured for key and value. This will allow, for example, to
differentiate from a byte[] that is a JPEG image, a gzipped text, some
UTF-8 bytes, Jboss marshalled object, protostream marshalled message and so
on.
At runtime, it'll be possible to read and write to/from the cache
specifying a different MimeType and the appropriate transcoder will convert
the values on demand.

Gustavo

[1] https://issues.jboss.org/browse/ISPN-7417

On Mon, Apr 24, 2017 at 9:27 AM, Sebastian Laskawiec <slaskawi at redhat.com>
wrote:

> Hey Guys!
>
> I'm currently reworking REST interface and I'm scratching my head looking
> how we deal with Serializable [1][2].
>
> The scenario assumes that server knows that cache stores a Serializable
> instance and moreover, it knows how to deserialize it (and convert it to
> XML/JSON, but that's the trivial part). I might be wrong, but I think both
> assumptions are questionable if not wrong. At first, how to distinguish a
> serialized instance of a class the server received [3] from a standard byte
> array? I can imagine someone using "Content-type:
> application/x-java-serialized-object" but it's very error prone. It also
> leads to the question number two - how the server will know that type of
> instance it is? This knowledge is essential for deserialization.
>
> I think the serialization/deserialization should be really done on the
> client side (but as I mentioned before, maybe I don't see some important
> use cases). I would like to remove it from refactored REST server.
>
> What do you think?
>
> Thanks,
> Sebastian
>
> [1] https://github.com/infinispan/infinispan/blob/
> master/server/rest/src/main/java/org/infinispan/rest/Server.java#L267-L313
> [2] https://github.com/infinispan/infinispan/blob/
> master/server/rest/src/test/java/org/infinispan/rest/
> IntegrationTest.java#L636-L639
> [3] Note that the input param here is byte[]
> https://github.com/infinispan/infinispan/blob/master/server/
> rest/src/main/java/org/infinispan/rest/Server.java#L458
> --
>
> SEBASTIAN ŁASKAWIEC
>
> INFINISPAN DEVELOPER
>
> Red Hat EMEA <https://www.redhat.com/>
> <https://red.ht/sig>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20170424/9ef6f4b7/attachment.html 


More information about the infinispan-dev mailing list