Drools Ruleflow deadlock issue[thread]
by dhinesh kumar
Hi
I am getting the below error while creating the ksession.startProcess() instance in multithread.
i.e. two thread calling the ksession.startprocess() with the ruleflow as
based on initial testing i identified due to delete or update sql operation the below is appearing. Please let me know how to solve this issue
ERROR LOG:
Hibernate: delete from ProcessInstanceInfo where InstanceId=? and OPTLOCK=?
Hibernate: delete from ProcessInstanceInfo where InstanceId=? and OPTLOCK=?
2011/07/04 11:20:06.475{UTC} [JDBCExceptionReporter : JDBCExceptionReporter.java: logExceptions: 100] [RMI TCP Connection(6)-10.50.53.32]: WARN: : SQL Error: 60, SQLState: 61000
2011/07/04 11:20:06.475{UTC} [JDBCExceptionReporter : JDBCExceptionReporter.java: logExceptions: 101] [RMI TCP Connection(6)-10.50.53.32]: ERROR: : ORA-00060: deadlock detected while waiting for resource
2011/07/04 11:20:06.475{UTC} [AbstractFlushingEventListener : AbstractFlushingEventListener.java: performExecutions: 324] [RMI TCP Connection(6)-10.50.53.32]: ERROR: : Could not synchronize database state with session
org.hibernate.exception.LockAcquisitionException: could not delete: [org.drools.persistence.processinstance.ProcessInstanceInfo#8130]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:112)......
Regards
Dhinesh Kumar V
13 years, 4 months
How to update the working memory of a nested object attribute
by Wishing Carebear
Hi,
My rules update the nested object attributes :eligibilityScore which is used
in another rule downstream.
Only the Client object is sent as fact, the nested object is derived using
the from keyword (list of services)
rule "Rule 8 EligibilityRating"
agenda-group "EligibilityRating"
no-loop true
salience 5
//dialect "mvel"
when
$client : Client(type == "Preferred")
$policy : Service(productType == "Vehicle Insurance") from
$client.service
then
System.out.println(" Rule 8 ER = type == preferred:"+
$policy.getId() + ": -50");
int eScore = $policy.getEligibilityScore() - 50;
* $policy.setEligibilityScore(eScore);* // how to let the downstream
rule know that this atribute value is updated without letting this current
rule go into infinite loop
end
Any suggestion is greatly appreciated
13 years, 4 months
Guvnor 5.2.0-Final in Tomcat 6.0.32 fail to compile rules
by pamerida
Hi everyone,
I am trying to create some rules with Guvnor guided editor but when I try to
validate the rule it gives me a error message like this:
"Unable to wire compiled classes, probably related to compilation
failures:[Error: unable to resolve method using strict-mode:
java.lang.Object.dateTimePeriod()] [Near : {...
DTM[0].dateTimePeriod.dateOrTimeOrPer ....}] ^ [Line: 1, Column: 8"
I have tried to turn off the strict mode by modifying the
drools.packagebuilder.conf putting false in this property, but nothing seems
to work
drools.dialect.mvel.strict = false
Thanks so much for your help... :)
--
View this message in context: http://drools.46999.n3.nabble.com/Guvnor-5-2-0-Final-in-Tomcat-6-0-32-fai...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 4 months
Implementation of not conditional expression
by jkrupka
How is the not conditional expression implemented? I am using it as a gate
expression - I can't remember if that's the correct technical term or not,
basically I'm using that expression to prevent the rules engine from having
to evaluate additional expressions on the same rule which I know to be
somewhat expensive and potentially frequently evaluated and added to the
agenda, but only infrequently executed (due to highly dynamic facts). In
the testing I have done, it seems to work well, but I'm not sure if there's
a certain number of facts where the not CE calculation will outweigh the
thing it's preventing. Is the not CE something that's optimized, or does
the rules engine have to look through all the facts of that type to
determine if the not CE is true? In my case there could be 10's of
thousands of the fact on which I have the not CE.
--
View this message in context: http://drools.46999.n3.nabble.com/Implementation-of-not-conditional-expre...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 4 months
get inserted facts
by Ruault Gaetan
Hi,
I use drools in stateless Session like this :
session.execute( my_facts_list) ;
and i have many rules like this
when
Type1(filter1 =1)
Then
Insert( new Fact()) ;
Could you explain how it's possible to retrieve my new facts in java code ?
Thanks.
Gaetan
13 years, 4 months