Thanks Robert.I tried this . It does not throw NotSerializableException exception.But the open method is not getting called.
On Fri, Jun 5, 2015 at 1:58 PM, Robert Metzger <rmetz...@apache.org> wrote: > 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) >> > >