Michael,

Here is what you should do..

Create a new Serializer


import java.io.IOException;

import java.io.ObjectInputStream;

import java.util.UUID;


import com.esotericsoftware.kryo.Kryo;


public class CustomeSerializableStreamCodec<T> extends
com.datatorrent.lib.codec.KryoSerializableStreamCodec

{


  public CustomeSerializableStreamCodec()

  {

   super();

  }

  private void readObject(ObjectInputStream in) throws IOException,
ClassNotFoundException

  {

    in.defaultReadObject();

    this.kryo = new Kryo();


this.kryo.setClassLoader(Thread.currentThread().getContextClassLoader());

    this.kryo.register(UUID.class, new UUIDSerializer()); // Register your
classes here

  ]

  private static final long serialVersionUID = 201411031405L;

}


In your DAG, use this Serializer on the input port that is expecting the
UUID tuple something like this


CustomeSerializableStreamCodec codec = new
CustomeSerializableStreamCodec<>();

dag.setInputPortAttribute(output.input, Context.PortContext.STREAM_CODEC,
codec);

Thanks
-Gaurav

On Fri, Nov 13, 2015 at 6:16 AM, Michael Ravits <[email protected]>
wrote:

> Hi Gaurav,
>
> I've found this custom serializer:
>
> https://github.com/magro/kryo-serializers/blob/master/src/main/java/de/javakaffee/kryoserializers/UUIDSerializer.java
>
> Question is where would be the correct place with regard to application's
> lifecycle to register this serializer.
>
> Michael
>
> On Fri, Nov 13, 2015 at 4:11 PM, Gaurav Gupta <[email protected]>
> wrote:
>
> > Michael,
> >
> > I think Kryo is complaining because UUID type doesn’t have default
> > constructor.
> >
> > Thanks
> > - Gaurav
> >
> > > On Nov 13, 2015, at 6:02 AM, Michael Ravits <[email protected]>
> > wrote:
> > >
> > > Hi,
> > >
> > > I'm experimenting with incubating apex 3.1.1.
> > > I've tried sending an object with a UUID type property and Kryo
> > complained
> > > that there is no serializer for this type.
> > > Where would be the most appropriate place to register the UUID
> > serializer?
> > >
> > > Thanks,
> > > Michael
> >
> >
>

Reply via email to