java.io.UTFDataFormatException while building BRMS package

Solution Verified - Updated -

Issue

When a rule has thousands of constraints like:

when
          $frame: Frame($code :
code, (code == '0004422' || code == '0006439' ||
code == '0027203' || code == '0027214' || code ==
'0132077' || code == '0174002' || code == '0182704' ||
code == '0235761' || code == '0274720' || code ==
'0287580' || code == '0287580' || code == '0316581' ||
code == '0341710' || code == '0341895' || code ==
'0341969' || code == '0342218' || code == '0343501' ||
code == '0345035' || code == '0408284' || code ==
'0408284' || code == '0412490' || code == '0413158' ||
code == '0454492' || code == '0454492' || code ==
'0487948' || code == '0540528' || code == '0540528' || ... 

... its package can not be built by BRMS:

java.io.UTFDataFormatException
       at java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream.java:2134)
       at java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream.java:1977)
       at java.io.ObjectOutputStream.writeUTF(ObjectOutputStream.java:849)
       at org.drools.base.mvel.MVELCompilationUnit.writeExternal(MVELCompilationUnit.java:172)
       at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1429)
       at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1398)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
       at org.drools.base.mvel.MVELPredicateExpression.writeExternal(MVELPredicateExpression.java:65)
(full log attached)

Environment

  • Red Hat JBoss Business Rules Managment System (BRMS)
    • 5.x
    • 6.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In