2 Replies Latest reply on Aug 31, 2011 1:03 PM by mircea.markus

    Serialization in client-server model

    gaprashanth
      There is lot of support for serializing the objects before storing in the cache starting from the Infinispan v 5.0.  This is really helpful while we are planing to store objects which are by default not zerialized. 
      But from the documentation it looks like Externalizers are supported only with EmbdeddCache mode and not with any client-server mode of deployment especially Hot Rod.
      In case of a client-server mode, the client would be sending the objects on the wire using some serialization mode. So can you please elaborate on what is the method of serialization used here.

      Also, we are having a deployment model where the cache runs as EmbeddedCache on an independent server and the cache client is hosted on a separate server. There is a wrapper componet on the cache server which actually talks to the cache in EmbeddedMode and this wrapper is exposed EJB to the the cache client.  Though exteralization can be used within the cache server, how do we serialize the non serialzed objects for the marshalling/unmarshalling between the cache client and the cache server.

       

       

        • 1. Re: Serialization in client-server model
          galder.zamarreno

          Hi Prashanth, indeed user defined externalizers are only supported in embedded mode, we might support it in the future though but it's not currently in our roadmap. Feel free to enter a feature request in https://issues.jboss.org/browse/ISPN.

           

          You'd have to find a way to convert those objects to byte[], for example, using other marshalling frameworks: Protobufs, Apache Avro, Thrift...etc.

          1 of 1 people found this helpful
          • 2. Re: Serialization in client-server model
            mircea.markus
            In case of a client-server mode, the client would be sending the objects on the wire using some serialization mode. So can you please elaborate on what is the method of serialization used here.

            In the case of the java client the serialization is configurable and defaults to org.infinispan.marshall.jboss.GenericJBossMarshaller.

            You can control the in-use marshaller through the "infinispan.client.hotrod.marshaller" property.