Issue in using of enum in BRMS 5.3.1 DRL's
We are trying to migrate from Drools 5.4.0 Community to BRMS 5.3.1 version and when we are trying to create a .pkg files, we are getting the below exception since we have declared enum's in DRL's. Is there a workaround to get this working in BRMS 5.3.1
Enum in DRL file:
declare enum StatusType
SUCCESS("1", "Success"),
FAILURE("2", "Failure");
code : String;
description : String;
end
Exception:
java.io.NotSerializableException: org.drools.factmodel.EnumLiteralDefinition
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.ArrayList.writeObject(ArrayList.java:742)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.drools.factmodel.EnumClassDefinition.writeExternal(EnumClassDefinition.java:52)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.drools.rule.TypeDeclaration.writeExternal(TypeDeclaration.java:173)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.HashMap.writeObject(HashMap.java:1133)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.drools.rule.Package.writeExternal(Package.java:159)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458)
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
