Hi, I guess you have a user function with a field for the scripting engine. Can you change your user function into a Rich* function, initialize the scripting engine in the open() method and make the field transient?
That should resolve it. On Fri, Jun 5, 2015 at 10:25 AM, Ashutosh Kumar <ashutosh.disc...@gmail.com> wrote: > I am trying to use java script engine to execute some rules on data set. > But it is throwing > > NotSerializableException > for jdk.nashorn.api.scripting.NashornScriptEngine.Not sure how to resolve > this. > > Thanks > > Caused by: java.io.NotSerializableException: > jdk.nashorn.api.scripting.NashornScriptEngine > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) > at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) > at > org.apache.flink.util.InstantiationUtil.serializeObject(InstantiationUtil.java:314) > at > org.apache.flink.api.java.ClosureCleaner.ensureSerializable(ClosureCleaner.java:95) >