当我将我的项目移到java7时,Drools在初始化过程中开始抛出RuntimeDroolsException异常。当我进一步研究时,我发现这是在验证java方言时发生的。问题是: Drools 5.1.1将"java.version“系统属性与LANGUAGE_LEVELS进行比较以验证它。LANGUAGE_LEVELS是1.6版本之前的java版本的硬编码列表
In org.drools.rule.builder.dialect.java.JavaDialectConfig
在我的应用程序中,所有线程在drools会话初始化期间都处于阻塞状态。:72)
at org.drools.reteoo.common.ReteWorkingMemory.initInitialFact(使用JVisualVM或Stack跟踪观察处于阻塞状态的线程。经过进一步研究,我发现在ReteWorkingMemory初始化过程中调用的以下代码导致了问题
private final Integer syncLock