Help needed in configuring drools guvnor with MySql
by Dinesh kumar
Hi,
I am trying to configure Drools Guvnor with MySql. I am using JBoss 4.0 . I
searched the web and changed my repository.xml that was created in my
JBoss/bin . But I am getting one exception after another and finally I am
struck up in this exception. Any help on this will be of great help..
deploy, ctxPath=/drools-guvnor,
warUrl=.../tmp/deploy/tmp48046drools-guvnor-exp.war/
14:01:01,820 INFO [STDOUT] ERROR 26-05 14:01:01,820
(BundleDbPersistenceManager.java:loadBundle:1228) failed to read bundle:
cafebabe-cafe-babe-cafe-babecafebabe: java.lang.IllegalStateException:
URIIndex not valid? javax.jcr.NamespaceException: URI for index 11 not
registered.
14:01:01,930 INFO [STDOUT] ERROR 26-05 14:01:01,930
(ConnectionRecoveryManager.java:logException:447) could not execute
statement, reason: The statement was aborted because it would have caused a
duplicate key value in a unique or primary key constraint or unique index
identified by 'SQL100526101110450' defined on 'DEFAULT_BUNDLE'., state/code:
23505/20000
14:01:01,930 INFO [STDOUT] ERROR 26-05 14:01:01,930
(BundleDbPersistenceManager.java:storeBundle:1270) failed to write bundle:
cafebabe-cafe-babe-cafe-babecafebabe
ERROR 23505: The statement was aborted because it would have caused a
duplicate key value in a unique or primary key constraint or unique index
identified by 'SQL100526101110450' defined on 'DEFAULT_BUNDLE'.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown
Source)
at
org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
Source)
at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown
Source)
at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:365)
at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:292)
at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:257)
at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:237)
at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1267)
at
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:703)
at
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:643)
at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:526)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.createRootNodeState(SharedItemStateManager.java:1084)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.<init>(SharedItemStateManager.java:194)
at
org.apache.jackrabbit.core.RepositoryImpl.createItemStateManager(RepositoryImpl.java:1201)
at
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:1753)
at
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1724)
at
org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:576)
at
org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:415)
at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:305)
at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
at
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
at
org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
at
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
at
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:363)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.newSession(BRMSRepositoryConfiguration.java:112)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.create(BRMSRepositoryConfiguration.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
at
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
at
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration_$$_javassist_1.create(BRMSRepositoryConfiguration_$$_javassist_1.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:138)
at org.jboss.seam.Component.callComponentMethod(Component.java:2171)
at org.jboss.seam.Component.callCreateMethod(Component.java:2094)
at org.jboss.seam.Component.newInstance(Component.java:2054)
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
at
org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:112)
at org.jboss.seam.init.Initialization.init(Initialization.java:727)
at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.apache.catalina.core.StandardContext.init(StandardContext.java:5052)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at
org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:297)
at
org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:103)
at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:371)
at org.jboss.web.WebModule.startModule(WebModule.java:83)
at org.jboss.web.WebModule.startService(WebModule.java:61)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkn
14:01:01,945 INFO [STDOUT] own Source)
at java.lang.reflect.Method.invoke(Unknown Source)
My repository.xml file:
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
Jackrabbit 1.4//EN"
"http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
<!-- Example Repository Configuration File -->
<Repository>
<!--
virtual file system where the repository stores global state
(e.g. registered namespaces, custom node types, etc.)
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
</FileSystem>
<!--
security configuration
-->
<Security appName="Jackrabbit">
<!--
access manager:
class: FQN of class implementing the AccessManager interface
-->
<AccessManager
class="org.apache.jackrabbit.core.security.SimpleAccessManager">
<!-- -->
</AccessManager>
<LoginModule
class="org.apache.jackrabbit.core.security.SimpleLoginModule">
<!-- anonymous user name ('anonymous' is the default value) -->
<!-- -->
<!--
default user name to be used instead of the anonymous user
when no login credentials are provided (unset by default)
-->
<!-- -->
</LoginModule>
</Security>
<!--
location of workspaces root directory and name of default workspace
-->
<Workspaces rootPath="${rep.home}/workspaces"
defaultWorkspace="default"/>
<!--
workspace configuration template:
used to create the initial workspace if there's no workspace yet
-->
<Workspace name="${wsp.name}">
<!--
virtual file system of the workspace:
class: FQN of class implementing the FileSystem interface
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
</FileSystem>
<!--
persistence manager of the workspace:
class: FQN of class implementing the PersistenceManager
interface
-->
<PersistenceManager
class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
<!-- param name="externalBLOBs" value="false" /-->
</PersistenceManager>
<!--
Search index and the file system it uses.
class: FQN of class implementing the QueryHandler interface
-->
<SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
</SearchIndex>
</Workspace>
<!--
Configures the versioning
-->
<Versioning rootPath="${rep.home}/version">
<!--
Configures the filesystem to use for versioning for the
respective
persistence manager
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
</FileSystem>
<!--
Configures the persistence manager to be used for persisting
version state.
Please note that the current versioning implementation is based
on
a 'normal' persistence manager, but this could change in future
implementations.
-->
<PersistenceManager
class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
</PersistenceManager>
</Versioning>
<!--
Search index for content that is shared repository wide
(/jcr:system tree, contains mainly versions)
-->
<SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
</SearchIndex>
</Repository>
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Help-needed-in-config...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 6 months
skip workflow's task from NodeInstance
by dgimenes
I'm trying to do a web page that lists the active workflows
(processInstances) and it's respective tasks that are waiting to be
processed to continue the flow. Also, I'd like to create a button to those
tasks to skip them, and go to the next task.
The first part I've already done with
((RuleFlowProcessInstance)ProcessInstance).getNodeInstances() (and so on),
but now I want to know if it's possible to skip the node with just a
NodeInstance objetct. Can you help me?
thx.
just in case, I'm using the words "node", "activity" and "task" to represent
the same thing.
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/skip-workflow-s-task-...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 6 months
Drools Rule Engine
by ramram
Hi All,
I am evaluating the rule engine of Drools and I have some questions:
1- Is there a way to make the rule dynamic and by that i mean that the
parameter it takes can vary between 1 instance and another?
2- is there a way to set the parameter in java and pass the parameter set
to the drl file so that it can be evaluated against?
3- concerning the number of users and optimization? is there any benchmark
made and a comparison of how many users and rules the engine can handle?
Regards,
Ram
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Rule-Engine-tp...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 6 months
ClassCastException during inserting knowledge package
by Piotr Jedrychowski
Hello.
I have a problem with such scenario:
1) add one knowledge package (sensor200) with two rules:
package sensor200
rule "Sensor-200-ON"
when
(and f0: FMSensorFact(id==201) f1: FMSensorFact(id==202) )
(not FMFact(id==200))
then
FMFact factToInsert = new FMFact(200);
insert(factToInsert);
end
package sensor200
rule "Sensor-200-OFF"
when
not (and FMSensorFact(id==201) FMSensorFact(id==202) )
(factToRetract : FMFact(id==200))
then
retract(factToRetract);
end
2) remove knowledge package (sensor200)
3) add knowledge package with the same name as in point 1, but with
other rule:
package sensor200
rule "Sensor-200-OR-201-ON"
when
fact: FMSensorFact(id==201)
(not FMFact(id==200))
then
FMFact factToInsert = new FMFact(200);
insert(factToInsert);
end
During adding knowledge package in point 3, I'm getting
ClassCastException with this Stacktarce:
java.lang.ClassCastException: org.drools.util.ObjectHashMap
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:142)
at org.drools.reteoo.ObjectTypeNode.updateSink(ObjectTypeNode.java:252)
at org.drools.reteoo.AlphaNode.attach(AlphaNode.java:133)
at org.drools.reteoo.builder.BuildUtils.attachNode(BuildUtils.java:160)
at
org.drools.reteoo.builder.PatternBuilder.attachAlphaNodes(PatternBuilder.java:295)
at
org.drools.reteoo.builder.PatternBuilder.attachPattern(PatternBuilder.java:117)
at org.drools.reteoo.builder.PatternBuilder.build(PatternBuilder.java:70)
at
org.drools.reteoo.builder.GroupElementBuilder$NotBuilder.build(GroupElementBuilder.java:228)
at
org.drools.reteoo.builder.GroupElementBuilder.build(GroupElementBuilder.java:73)
at
org.drools.reteoo.builder.GroupElementBuilder$AndBuilder.build(GroupElementBuilder.java:126)
at
org.drools.reteoo.builder.GroupElementBuilder.build(GroupElementBuilder.java:73)
at
org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:153)
at
org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:126)
at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:117)
at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java:362)
at org.drools.common.AbstractRuleBase.addRule(AbstractRuleBase.java:618)
at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:500)
at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:379)
at
org.drools.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:121)
Maybe someone had similar problem and could help me?
I'm using:
* JBoss 4.2.3.GA
* Drools 5.0
Regards,
Piotr
14 years, 6 months
Error in OR rule
by Piotr Jedrychowski
Hello.
I have a problem with such a condition after 'when':
(or (and MyFact(id==1) MyFact(id==2)) (or MyFact(id==3) MyFact(id==4)))
For this condition I got this error:
errors; [7,41]: [ERR 101] Line 7:41 no viable alternative at input 'or'
in rule "Sensor-1-ON"[7,64]: [ERR 102] Line 7:64 mismatched input
'MyFact' expecting ')' in rule "Sensor-1-ON"[7,84]: [ERR 102] Line 7:84
mismatched input ')' expecting 'then' in rule "Sensor-1-ON"
When I changed my condition to this:
(or (and MyFact(id==1) MyFact(id==2)) MyFact(id==3) MyFact(id==4))
everything is correct. Both conditions from logic point of view, are the
same, but the first one can't be compiled. Why?
Maybe someone had similar problem and could help me?
I'm using:
* JBoss 4.2.3.GA
* Drools 5.0
Regards,
Piotr
14 years, 6 months
How to log defects with its corresponding rule id?
by bbarani
Hi,
I am currently using Guvnor for managing rules. I have a java program which
retrieves the rules information from Guvnor and gives me the validated
output.
I now need to log the defects of each and every record with its
corresponding rule / rule type id in order to know why that / for which
value that particular rule has failed. I am not sure of Guvnor rules data
model as of now.
Can anyone let me know how to identify each rule stored in Guvnor for defect
logging purpose?
Let me know if you need more information.
Thanks,
BB
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/How-to-log-defects-wi...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 6 months
Drools 5.1M2
by David Conde
Hi,
Can someone please give me an estimate as to when the 5.1M2 release will be
available in the maven repository. I'm waiting to get my hands on released
versions of the OSGi bundles via maven.
Thanks,
--
David Conde
CTO Calom Technologies
Calom Technologies Ltd (registered in Ireland)
Registered Number: 460246
Registered Address: NCI Research and Business Centre, Mayor St, IFSC, Dublin
1, Ireland
14 years, 6 months
Error after inserting object in the workingmemory
by Kevin Alonso
Hello,
I´m working with the last successful build(22-may-2010) of drools5.1. I
get the error below, when I try to insert a class instance in the
working memory. This only happens when conditional part of a rule is
satisfied.
I´ve read in previous mails of this mailing list something about this
error and it seems that is related with the call of static method.
http://lists.jboss.org/pipermail/rules-users/2008-January/004485.html
I have a rule that would be activated after the insertion of the
instance. The rule is the following:
rule "ruleA"
ruleflow-group "BlockStageOrder1Round1"
when
State(SizeX : width, SizeY : height)
support : ClassifierPropositionSupport(fDescriptor : frameDescriptor,
fatherClass == "blue", x >= 0 && < (SizeX/4), y >= 0 && < (SizeY/4))
then
ProposeClassifiers.SetClassifier(drools, fDescriptor,"sky");
end
Can you help me solving this?
Thank you in advance,
Kevin.
java.lang.RuntimeException: unable to execute Action
at
org.drools.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:56)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:117)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:178)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:144)
at
org.drools.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:62)
at
org.drools.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:58)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:117)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:178)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:144)
at
org.drools.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
at
org.drools.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:117)
at
org.drools.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:16)
at
org.drools.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:192)
at
org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:309)
at
org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1591)
at
org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1569)
at
org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:286)
at mandragora.Mandragora.main(Mandragora.java:95)
Caused by: java.lang.UnsupportedOperationException: does not support
method call isAllowed(Object object, InternalWorkingMemory workingMemoiry)
at
org.drools.rule.ReturnValueRestriction.isAllowedCachedRight(ReturnValueRestriction.java:252)
at
org.drools.rule.AndCompositeRestriction.isAllowedCachedRight(AndCompositeRestriction.java:51)
at
org.drools.rule.MultiRestrictionFieldConstraint.isAllowedCachedRight(MultiRestrictionFieldConstraint.java:115)
at
org.drools.common.DoubleBetaConstraints.isAllowedCachedRight(DoubleBetaConstraints.java:176)
at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:124)
at org.drools.reteoo.BetaNode.modifyObject(BetaNode.java:312)
at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:444)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:412)
at org.drools.reteoo.AlphaNode.modifyObject(AlphaNode.java:160)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateModifyObject(SingleObjectSinkAdapter.java:52)
at org.drools.reteoo.ObjectTypeNode.modifyObject(ObjectTypeNode.java:262)
at org.drools.reteoo.EntryPointNode.modifyObject(EntryPointNode.java:173)
at
org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1395)
at
org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1291)
at mandragora.states.OntologyIngestColor.run(OntologyIngestColor.java:257)
at mandragora.Process_mandragora_0.action1(Process_mandragora_0.java:19)
at
mandragora.Process_mandragora_0Action1Invoker.execute(Process_mandragora_0Action1Invoker.java:20)
at
org.drools.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:54)
... 18 more
--
Vicomtech
Kevin Alonso González
Investigador / Researcher
Televisión Digital y Servicios Multimedia /
Digital TV & Multimedia Services
kalonso(a)vicomtech.org
Mikeletegi Pasealekua, 57 - Parque Tecnológico
20009 Donostia - San Sebastián - Spain
Tel: +[34] 943 30 92 30
Fax: +[34] 943 30 93 93
www.vicomtech.org
14 years, 6 months
StatelessKnowledgeSessionImpl.execute does not call dispose() method
by Σάββας Τριανταφύλλου
Hi,
I have noticed that StatelessKnowledgeSessionImpl.execute (5.1.0.M1) methods do not call dispose()
method in contrary to the documentation (http://downloads.jboss.com/drools/docs/5.0.1.26597.FINAL/drools-expert/ht...)
3.3.7. StatelessKnowledgeSession
The StatelessKnowledgeSession wraps the StatefulKnowledgeSession, instead of extending it. Its main focus is on decision service type scenarios. It avoids the need to call dispose(). Stateless sessions do not support iterative insertions and the method call fireAllRules() from Java code; the act of calling execute() is a single-shot method that will internally instantiate a StatefulKnowledgeSession, add all the user data and execute user commands, call fireAllRules(), and then call dispose().
Is this a bug or has something changed between version 5.0.1 and 5.1.0 ?
BR,
Savvas Triantafyllou
14 years, 6 months