全新安装后 jBPM 模拟编译错误
jBPM Simulation Compilation Errors after Clean Install
在 Windows 上使用安装程序安装 jBPM 6.4 后,当我对一个简单的流程建模并尝试 运行 模拟时,我得到以下错误。在尝试对包含的示例流程进行 运行 模拟时,我也遇到了同样的错误。想法?
2016-06-03 13:13:05,878 ERROR [org.jbpm.designer.web.server.SimulationServlet] (default task-48) Error during simulation: java.lang.RuntimeException: Error while building knowledge base: Unable to generate rule invoker. : [Accumulate: input=[AND [[Pattern: id=null; objectType=ActivitySimulationEvent]] ]]
simulation/Rule_Calculate_average_duration_for_activity912964658AccumulateExpression2Invoker.java (19:831) : Cannot cast from long to Long
simulation/Rule_Calculate_average_duration_for_activity912964658AccumulateExpression2Invoker.java (19:831) : Type mismatch: cannot convert from Long to long
...
Unable to generate rule invoker. : [Accumulate: input=[AND [[Pattern: id=null; objectType=HTAggregatedSimulationEvent]] ]]
simulation/Rule_Calculate_human_activity_summary927771080AccumulateExpression3Invoker.java (19:834) : Cannot cast from double to Double
etc.
...
Rule Compilation error : [Rule name='Calculate activity summary']
simulation/Rule_Calculate_activity_summary1795396102.java (43:3092) : The constructor AggregatedActivitySimulationEvent(String, String, Double, Double, Double, long, String) is undefined
...
Rule Compilation error : [Rule name='Calculate end event summary']
simulation/Rule_Calculate_end_event_summary1338519770.java (43:3124) : The constructor AggregatedEndEventSimulationEvent(String, String, Double, Double, Double, long, String) is undefined
...
at org.jbpm.simulation.impl.WorkingMemorySimulationRepository.(WorkingMemorySimulationRepository.java:58) [jbpm-simulation-6.4.0.Final.jar:6.4.0.Final]
at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:78) [jbpm-simulation-6.4.0.Final.jar:6.4.0.Final]
at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:73) [jbpm-simulation-6.4.0.Final.jar:6.4.0.Final]
日志继续了一点...
我假设您使用的是 Java8 Wildfly 8.2.1?有一个已知问题,该版本的 Wildfly 中包含的 ejc(eclipse java 编译器)jar 无法正确识别 Java8,因此会退回到 Java 1.5(其中自动不支持将 Long 转换为 long。
有几个选项,但最简单的可能是自己强制 java 编译器级别,将系统 属性 'drools.dialect.java.compiler' 设置为“1.8”。其他选择是使用 Janino 代替 ejc,或者升级 te ejc 版本。
在 Windows 上使用安装程序安装 jBPM 6.4 后,当我对一个简单的流程建模并尝试 运行 模拟时,我得到以下错误。在尝试对包含的示例流程进行 运行 模拟时,我也遇到了同样的错误。想法?
2016-06-03 13:13:05,878 ERROR [org.jbpm.designer.web.server.SimulationServlet] (default task-48) Error during simulation: java.lang.RuntimeException: Error while building knowledge base: Unable to generate rule invoker. : [Accumulate: input=[AND [[Pattern: id=null; objectType=ActivitySimulationEvent]] ]] simulation/Rule_Calculate_average_duration_for_activity912964658AccumulateExpression2Invoker.java (19:831) : Cannot cast from long to Long simulation/Rule_Calculate_average_duration_for_activity912964658AccumulateExpression2Invoker.java (19:831) : Type mismatch: cannot convert from Long to long
...
Unable to generate rule invoker. : [Accumulate: input=[AND [[Pattern: id=null; objectType=HTAggregatedSimulationEvent]] ]] simulation/Rule_Calculate_human_activity_summary927771080AccumulateExpression3Invoker.java (19:834) : Cannot cast from double to Double etc.
...
Rule Compilation error : [Rule name='Calculate activity summary'] simulation/Rule_Calculate_activity_summary1795396102.java (43:3092) : The constructor AggregatedActivitySimulationEvent(String, String, Double, Double, Double, long, String) is undefined
...
Rule Compilation error : [Rule name='Calculate end event summary'] simulation/Rule_Calculate_end_event_summary1338519770.java (43:3124) : The constructor AggregatedEndEventSimulationEvent(String, String, Double, Double, Double, long, String) is undefined
...
at org.jbpm.simulation.impl.WorkingMemorySimulationRepository.(WorkingMemorySimulationRepository.java:58) [jbpm-simulation-6.4.0.Final.jar:6.4.0.Final] at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:78) [jbpm-simulation-6.4.0.Final.jar:6.4.0.Final] at org.jbpm.simulation.SimulationRunner.runSimulation(SimulationRunner.java:73) [jbpm-simulation-6.4.0.Final.jar:6.4.0.Final]
日志继续了一点...
我假设您使用的是 Java8 Wildfly 8.2.1?有一个已知问题,该版本的 Wildfly 中包含的 ejc(eclipse java 编译器)jar 无法正确识别 Java8,因此会退回到 Java 1.5(其中自动不支持将 Long 转换为 long。
有几个选项,但最简单的可能是自己强制 java 编译器级别,将系统 属性 'drools.dialect.java.compiler' 设置为“1.8”。其他选择是使用 Janino 代替 ejc,或者升级 te ejc 版本。