Weblogic Drools 6.1.0 DefaultFactHandle NotSerializable异常

Weblogic Drools 6.1.0 DefaultFactHandle NotSerializable异常,weblogic,drools,stateful,Weblogic,Drools,Stateful,我们在Weblogic 12.1.2上以无状态EJB3.0bean的形式运行drools 6.1.0。当bean在池中创建新实例时,在初始化过程中服务器上有更多负载时,bean返回以下异常 EJB Exception: : java.lang.RuntimeException: java.io.NotSerializableException: org.drools.core.common.DefaultFactHandle at org.drools.core.util

我们在Weblogic 12.1.2上以无状态EJB3.0bean的形式运行drools 6.1.0。当bean在池中创建新实例时,在初始化过程中服务器上有更多负载时,bean返回以下异常

EJB Exception: : java.lang.RuntimeException:         java.io.NotSerializableException: org.drools.core.common.DefaultFactHandle
    at org.drools.core.util.ClassUtils.deepClone(ClassUtils.java:514)
    at     org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(Kn    owledgePackageImpl.java:770)
    at     org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(KnowledgePackageImpl.java:66)
at org.drools.core.impl.KnowledgeBaseImpl.addPackages(KnowledgeBaseImpl.java:722)
at org.drools.core.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:266)
at org.drools.compiler.kie.builder.impl.KieContainerImpl.createKieBase(KieContainerImpl.java:412)
at org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:346)
at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:498)
at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:443)
at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:425)
我们必须初始化新的有状态会话的代码如下:

protected KieSession kieSession= null;
protected ReleaseId releaseId = null; //fetched by logic to identify the release id>
if(kieSession != null){
    kieSession.dispose();
    kieSession = null;
}
KieServices kServices = KieServices.Factory.get();
KieContainer container = kServices.newKieContainer(this.releaseId);
kieSession = container.newKieSession();
这是在无状态Bean的构造函数中发生的


你能帮我们解决这个问题吗?

@laune,请看一下这个问题。谢天谢地,这可能是一个bug——在这个阶段和级别上,没有任何东西可以导致这样的错误。看到您的版本是6.1.0,在报告错误之前,尝试使用6.3.0是您应该做的事情。@laune您好,我在运行drools 6.3.0 final版本时出错:java.lang.NoSuchMethodError:org.apache.maven.execution.MavenExecutionRequest.setTransferListener(Lorg/eclipse/aether/transfer/TransferListener;)Lorg/apache/maven/execution/MavenExecutionRequest;这两种情况都可能是由于编译时或运行时所看到的内容或类似内容之间的版本混淆造成的。我们已将drools版本更新为6.3.0最终版本,我们仍面临此问题。