You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by S Ahmed <sa...@gmail.com> on 2014/06/17 20:58:56 UTC

is it smarter to go with a java class for message serialization/des?

My app is in scala and a quick search on serializing a scala class seems to
have potential issues with different versions of scala (I could be wrong as
I did a quick search).

Is it generally just a better idea to use plain old java classes for kafka
messages?

i.e. I simply use jackson like:

public class User implements Serializable {
...
}

// kakfa
val it = stream.iterator()
while (it.hasNext()) {
  val messageAndTopic = it.next

  val user = mapper.readValue(messageAndTopic.message(), classOf[User])

Re: is it smarter to go with a java class for message serialization/des?

Posted by Neha Narkhede <ne...@gmail.com>.
Yes, backwards incompatibility is a problem when using Java/Scala object
serialization. At LinkedIn, we use Avro as the serialization format for
Kafka data.

Thanks,
Neha


On Tue, Jun 17, 2014 at 11:58 AM, S Ahmed <sa...@gmail.com> wrote:

> My app is in scala and a quick search on serializing a scala class seems to
> have potential issues with different versions of scala (I could be wrong as
> I did a quick search).
>
> Is it generally just a better idea to use plain old java classes for kafka
> messages?
>
> i.e. I simply use jackson like:
>
> public class User implements Serializable {
> ...
> }
>
> // kakfa
> val it = stream.iterator()
> while (it.hasNext()) {
>   val messageAndTopic = it.next
>
>   val user = mapper.readValue(messageAndTopic.message(), classOf[User])
>