[JBoss JIRA] Created: (JBRULES-631) Return of serialize/deserialize - HashMap of Compiled Rule Bases.
by Joe Son (JIRA)
Return of serialize/deserialize - HashMap of Compiled Rule Bases.
-----------------------------------------------------------------
Key: JBRULES-631
URL: http://jira.jboss.com/jira/browse/JBRULES-631
Project: JBoss Rules
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: All
Affects Versions: 3.0.1
Environment: Websphere 6.0.
Reporter: Joe Son
Assigned To: Mark Proctor
I'm trying to deserialize hashMap of compiled RuleBases back so that i can use it.
I've tried out different ideas but this one kinda kills me as to why i am getting this error.
It is compiled and serialized during the start up of the webserver (webapp). When the web app is restarted, it uses the same classloader to load the file from the disk.
I get this error below:
Am I getting this because of difference in classloader instances?
say first time around classloader instance A does the serialization. Then when it come time for deserialization during webapp restart, classloader instance B does the desrialize.
Could this cause such error below?
I'm also using JANINO compiler.
Please help.
java.lang.ClassNotFoundException: rules.Rule_dept00004_10_0ConsequenceInvoker
at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java(Compiled Code))
at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java(Compiled Code))
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at com.ibm.ws.classloader.ReloadableClassLoader.loadClass(ReloadableClassLoader.java(Compiled Code))
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at org.drools.rule.CompositePackageClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at org.drools.common.ObjectInputStreamWithLoader.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at java.util.ArrayList.readObject(ArrayList.java(Compiled Code))
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at java.util.ArrayList.readObject(ArrayList.java(Compiled Code))
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at java.util.HashMap.readObject(HashMap.java(Compiled Code))
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at java.util.HashMap.readObject(HashMap.java(Compiled Code))
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at org.drools.common.AbstractRuleBase.doReadExternal(Unknown Source)
at org.drools.reteoo.ReteooRuleBase.readExternal(Unknown Source)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1718)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at java.util.HashMap.readObject(HashMap.java(Compiled Code))
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at com.nationwide.pc.util.RulesXmlUtilTest.getRuleBaseFromDisk(RulesXmlUtilTest.java:271)
at com.nationwide.pc.performers.eProcess.DroolsPerformerTest.initialize(DroolsPerformerTest.java:88)
at com.nationwide.pc.performers.framework.ServletFrameWork.init(ServletFrameWork.java:86)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:274)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1398)
at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:86)
at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:558)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:395)
at com.ibm.ws.webcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:115)
at com.ibm.ws.webcontainer.VirtualHost.addWebApplication(VirtualHost.java:128)
at com.ibm.ws.webcontainer.WebContainer.addWebApp(WebContainer.java:905)
at com.ibm.ws.webcontainer.WebContainer.addWebApplication(WebContainer.java:858)
at com.ibm.ws.runtime.component.WebContainerImpl.install(WebContainerImpl.java:167)
at com.ibm.ws.runtime.component.WebContainerImpl.start(WebContainerImpl.java:391)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1228)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1067)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:547)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startModule(ApplicationMgrImpl.java:1651)
at com.ibm.ws.runtime.component.ApplicationMgrImpl._startModule(ApplicationMgrImpl.java:1599)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$ApplicationNotifier.classChanged(ApplicationMgrImpl.java:1811)
at com.ibm.ws.classloader.ClassLoaderManager.checkAndNotify(ClassLoaderManager.java:536)
at com.ibm.ws.classloader.ClassLoaderManager.access$000(ClassLoaderManager.java:58)
at com.ibm.ws.classloader.ClassLoaderManager$ReloadTimerTask.alarm(ClassLoaderManager.java:604)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1462)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months
[JBoss JIRA] Created: (JBMESSAGING-908) MySQL on Linux fails to load server after failover
by Tim Fox (JIRA)
MySQL on Linux fails to load server after failover
--------------------------------------------------
Key: JBMESSAGING-908
URL: http://jira.jboss.com/jira/browse/JBMESSAGING-908
Project: JBoss Messaging
Issue Type: Bug
Reporter: Tim Fox
Assigned To: Tim Fox
Fix For: 1.2.1
Sometimes, after failover occurs and a server is restarted, the server start fails with:
java.lang.IllegalStateException: Did not load correct number of messages, wanted:1 but got:0
at org.jboss.messaging.core.PagingChannelSupport.processReferences(PagingChannelSupport.java:591)
at org.jboss.messaging.core.PagingChannelSupport.doLoad(PagingChannelSupport.java:518)
at org.jboss.messaging.core.plugin.postoffice.cluster.LocalClusteredQueue.mergeIn(LocalClusteredQueue.java:243)
at org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice.performFailover(DefaultClusteredPostOffice.java:2169)
at org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice.nodeLeft(DefaultClusteredPostOffice.java:2031)
at org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice.access$1800(DefaultClusteredPostOffice.java:98)
at org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice$HandleViewAcceptedRunnable.run(DefaultClusteredPostOffice.java:2400)
at EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:89)
at java.lang.Thread.run(Thread.java:595
or similar.
Analysing logs it seems this is because when the server crashed previously it did so and partially committed a transaction, i.e inserted the ref but not the message.
My suspicion is that this is because the MySQL configuration being used is setup to use the non transaction myISAAM storage which has no transaction support. But this needs to be verified.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months
[JBoss JIRA] Created: (JBPORTAL-1769) Portlet disappears in IE 7.0 after it is maximized
by krish p (JIRA)
Portlet disappears in IE 7.0 after it is maximized
--------------------------------------------------
Key: JBPORTAL-1769
URL: http://jira.jboss.com/jira/browse/JBPORTAL-1769
Project: JBoss Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Portal Portlet
Affects Versions: 2.6.1 Final
Environment: Windows XP, Internet Explorer 7.0
Reporter: krish p
Assigned To: Julien Viet
I am not able to reproduce the exact issue in this build, http://portal.demo.jboss.com/portal/default but I can definitely see related issues.
Essentially, this is the problem:
* Add a portlet on the page.
* Maximize it, restore it, minimize it, and keep doing this a few times, and at some point, the portlet disappears for the user and cannot ever be restored (unless the portlet is chosen to be added again, and even in that case, it fails occasionally).
After doing a fair bit of testing, I've narrowed down the test case to the following:
* This does NOT reproduce in Firefox and happens only in IE
* Even in IE, it happens ONLY when clicking on the maximize/minimize/restore events DOES NOT work the first time.
I am able to see the exact the same issue in the http://portal.demo.jboss.com/portal/default build in IE. The portlet events do not work unless repetitively tried, and in our case, the portlet disappears exactly at that point. In other words, when the portlet event does not get kicked off the first time when the portlet is in the maximized mode, the portlet ends up disappearing when we repeatedly click on that event (be it minimize or restore).
It is a little painful to reproduce this but the problem does exist in IE.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months
[JBoss JIRA] Created: (EJBTHREE-698) Exception serialization issue when remotely accessing stateless session bean
by David Green (JIRA)
Exception serialization issue when remotely accessing stateless session bean
----------------------------------------------------------------------------
Key: EJBTHREE-698
URL: http://jira.jboss.com/jira/browse/EJBTHREE-698
Project: EJB 3.0
Issue Type: Bug
Reporter: David Green
Accessing a remote EJB (Session bean) results in exception. Stack trace follows:
13:54:39,546 ERROR [SocketClientInvoker] Got marshalling exception, exiting
java.lang.ClassNotFoundException: [Ljava.lang.StackTraceElement;
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:50)
at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:139)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1624)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
at org.jboss.remoting.Client.invoke(Client.java:525)
at org.jboss.remoting.Client.invoke(Client.java:488)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:65)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
at $Proxy0.postNotification(Unknown Source)
at com.hgea.hch.service.HchClientDelegate.postNotification(HchClientDelegate.java:99)
at com.hgea.hch.client.RemoteHchClientTest.testRemotePostNotification(RemoteHchClientTest.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:672)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:567)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months
[JBoss JIRA] Created: (JBRULES-1351) Rules not firing in heavely threaded application
by paata lominadze (JIRA)
Rules not firing in heavely threaded application
------------------------------------------------
Key: JBRULES-1351
URL: http://jira.jboss.com/jira/browse/JBRULES-1351
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.0.3, 4.0.2
Reporter: paata lominadze
Server application loads precompiled rule package into memory
then it creates as many rulebases as much threads are there.
(every thread has its own rulebase and stateless session)
application receives messages, then it dispatches it to one of the threads.
thread itself executes rules on its own stateless session.
rules are written such a way so that at least one rule should fire.
but sometimes rules don't fire.
in such situations we are passing same facts to rules engine second time,
on the same rulebase, using same stateless session. this time one rule is selected.
facts are not modified during two runs. they also dont change from rules.
this makes us to think that the bug is in rules engine, not in the application rule design logic.
going from stateless to stateful session didnot solve this problem
fact shadowing is disabled
rules have unique salience.
all rules belong to same activation group.
we had one rulebase for all the threads and were creating one stateless session
per thread. but "misfiring" did happen much often this way. giving each thread its own
rulebase reduced "misfirings" dramatically
this bug started to appear after upgrading from 3.0.5 to 4.0.x, currently we are using 4.0.3
i think this problem has same roots as this bug:
http://jira.jboss.org/jira/browse/JBRULES-1330
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months