Error with SimpleDateFormat generated by Guided Rule / Guided Decision Table in BRMS

Solution Unverified - Updated -

Issue

  • I get the following error in Realtime Decision Server / Intelligent Process Server
16:41:06,755 ERROR [org.kie.server.services.drools.DroolsKieContainerCommandServiceImpl] (http-127.0.0.1:8080-2) Error calling container 'example:date-test:1.0': Exception executing consequence for rule "Row 1 BirthDayDT" in example: [Error: could not create constructor: null]
[Near : {... ateFormat sdf = new java.text.SimpleDateFormat("nu ....}]
                                 ^
[Line: 1, Column: 38]
    at org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1065) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:121) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:74) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:972) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1315) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1254) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1365) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1356) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1337) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:111) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:36) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:138) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:51) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.execute(StatefulKnowledgeSessionImpl.java:747) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.execute(StatefulKnowledgeSessionImpl.java:721) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.kie.server.services.drools.RulesExecutionService.call(RulesExecutionService.java:52) [kie-server-services-drools-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.kie.server.services.drools.DroolsKieContainerCommandServiceImpl.callContainer(DroolsKieContainerCommandServiceImpl.java:69) [kie-server-services-drools-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    ...
Caused by: [Error: could not create constructor: null]
[Near : {... ateFormat sdf = new java.text.SimpleDateFormat("nu ....}]
                                 ^
[Line: 1, Column: 38]
    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeObjectCreation(ReflectiveAccessorOptimizer.java:1245) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.ast.NewObjectNode.getReducedValueAccelerated(NewObjectNode.java:218) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.ast.TypedVarNode.getReducedValueAccelerated(TypedVarNode.java:70) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.MVEL.executeExpression(MVEL.java:929) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.drools.core.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:110) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1054) [drools-core-6.5.0.Final-redhat-17.jar:6.5.0.Final-redhat-17]
    ... 46 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.8.0_66]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [rt.jar:1.8.0_66]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.8.0_66]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) [rt.jar:1.8.0_66]
    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileConstructor(ReflectiveAccessorOptimizer.java:1306) [mvel2-2.2.8.Final-redhat-1.jar:]
    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeObjectCreation(ReflectiveAccessorOptimizer.java:1236) [mvel2-2.2.8.Final-redhat-1.jar:]
    ... 56 more
Caused by: java.lang.IllegalArgumentException: Illegal pattern character 'n'
    at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:826) [rt.jar:1.8.0_66]
    at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:634) [rt.jar:1.8.0_66]
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:605) [rt.jar:1.8.0_66]
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:580) [rt.jar:1.8.0_66]
    ... 62 more

Environment

  • Red Hat JBoss BRMS
  • Red Hat JBoss BPM Suite
    • 6.4.4

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content