[infinispan-issues] [JBoss JIRA] Commented: (ISPN-508) ProtoBuf as portable serialization for Hot Rod
Galder Zamarreno (JIRA)
jira-events at lists.jboss.org
Thu Jul 8 12:32:47 EDT 2010
[ https://jira.jboss.org/browse/ISPN-508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12538456#action_12538456 ]
Galder Zamarreno commented on ISPN-508:
---------------------------------------
Some notes:
Protobuf requires a model to be defined in advance and classes to be generated, so this means that from a user perspective, whatever key/value that is passed to the Hot Rod client, it'd need to be casted to MessageLite to be able to call toByteArray method (http://code.google.com/apis/protocolbuffers/docs/reference/java/com/google/protobuf/MessageLite.html#toByteArray()). In a way this reminds me a bit of what users had to with their user classes to put them into PojoCache where they had to pre-compile and aspectize their classes so that they could be woven. This could potentially generate a lot of questions in forums based on my experience of users having to do these type of things themselves.
Another thing that worries me about Protobufs would be how to do the reading part. According to http://code.google.com/apis/protocolbuffers/docs/javatutorial.html, the reading requires calling parseFrom(byte[]) static method on the object class. However, this parseFrom does not appear to belong to any class. The only thing I've found is http://code.google.com/apis/protocolbuffers/docs/reference/java/com/google/protobuf/DynamicMessage.html which can parseFrom a arbitrary type given the descriptor. How would the unmarshaller know either the descriptor or class to use to return?
I'll look at Avro next...
> ProtoBuf as portable serialization for Hot Rod
> ----------------------------------------------
>
> Key: ISPN-508
> URL: https://jira.jboss.org/browse/ISPN-508
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cache Server
> Reporter: Galder Zamarreno
> Assignee: Galder Zamarreno
> Priority: Critical
> Fix For: 5.0.0.BETA1, 5.0.0.Final
>
>
> Consider using Google ProtoBufs as a way to serialize data into a wire so that a single Hot Rod server can simulatneously be accessed by clients written in different languages. At the moment, cos Java client uses standard serialization, only Java clients would really be able to understand the contents of it, unless there's a non-JVM implementation that can understand java serialization.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list