I am using drools marshalling for persistence and am getting an OOME with my simple rule flow. I have a custom CommandService that persists at the end of each execution. (I am not using JPA :-( ).
In the rule flow I have a split that checks for the non-existence of a simple pojo using "not ValidationResult()" as one of the constraints. The other constraint is ValidationResult(valid == false). I get an OutOfMemoryError using the "not" in one of the constraints. Changing "not ValidationResult()" to "ValidationResult(valid == true)" results in normal operation. The flow is essentially Start->ValidationRuleFlowGroup->XOR Split->Valid Action XOR Invalid Action -> End. The ValidationRuleFlowGroup has a simple set of rules that will insert a ValidationResult() fact if something is not valid. Anyone have any idea why checking for the non-existence of a fact causes this error. I'll post the pojo and the stack trace below. public class ValidationResult { private boolean isValid; private String message; public boolean isValid() { return isValid; } public void setValid(boolean isValid) { this.isValid = isValid; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2786) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1838) at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1769) at java.io.DataOutputStream.writeInt(DataOutputStream.java:182) at java.io.ObjectOutputStream$BlockDataOutputStream.writeInt(ObjectOutputStream.java:1904) at java.io.ObjectOutputStream.writeInt(ObjectOutputStream.java:769) at org.drools.marshalling.impl.OutputMarshaller.writeLeftTuple(OutputMarshaller.java:459) at org.drools.marshalling.impl.OutputMarshaller.writeInitialFactHandleLeftTuples(OutputMarshaller.java:356) at org.drools.marshalling.impl.OutputMarshaller.writeFactHandles(OutputMarshaller.java:251) at org.drools.marshalling.impl.OutputMarshaller.writeSession(OutputMarshaller.java:85) at org.drools.marshalling.impl.DefaultMarshaller.marshall(DefaultMarshaller.java:117) Thanks, Heath -- View this message in context: http://n3.nabble.com/OutOfMemoryError-with-non-existence-check-in-flow-XOR-split-tp443126p443126.html Sent from the Drools - User mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users