Concurrency problem in PackageClassLoader
by nicolas
Hi,
We are using a single (Drools 5.1.1) Stateless Sessions for the parallel
processing of thousands of facts.
>From time to time we experienced the following error :
org.drools.runtime.rule.ConsequenceException: rule: Priorite - Groupe:
TMK2612G01, P10
at
org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:927)
at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:856)
at
org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:785)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:751)
at
org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)
at
acme.srv.ept.service.impl.traitement.MoteurTraitementDemandes.traiterDemande(MoteurTraitementDemandes.java:121)
(...)
Caused by: java.util.ConcurrentModificationException
at java.util.HashMap
$AbstractMapIterator.checkConcurrentMod(Unknown Source)
at java.util.HashMap$AbstractMapIterator.makeNext(Unknown Source)
at java.util.HashMap$KeyIterator.next(Unknown Source)
at java.util.HashMap.analyzeMap(Unknown Source)
at java.util.HashMap.rehash(Unknown Source)
at java.util.HashMap.rehash(Unknown Source)
at java.util.HashMap.putImpl(Unknown Source)
at java.util.HashMap.put(Unknown Source)
at org.drools.rule.JavaDialectRuntimeData
$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:503)
at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
at
acme.srv.ept.regle.Rule_Priorite___Groupe__TMK2612G01__P10_0DefaultConsequenceInvoker.evaluate(Rule_Priorite___Groupe__TMK2612G01__P10_0DefaultConsequenceInvoker.java:29)
at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:917)
... 49 more
We get the same error when we used a pool of Stateless Sessions (serial
access) based on the same KnowledgeBase for the processing.
Thanks,
13 years, 3 months
Regression with Drools 5.3.0-CR1
by Swindells, Thomas
I've just tried upgrading from Drools 5.3.0-CR1 from the beta and I've hit a regression.
JBoss seems to have been down for most of today so I haven't been able to raise a Jira for it.
In our model we have Facts which contain fields of java.lang.class, we then have a rule which checks that they aren't null.
Eg
Fact { Class<Object> classField}
Rule "xyz"
When
Fact(classField != null)
Then
...
End
This is giving the following exception
Caused by: java.lang.ClassCastException: org.drools.base.field.ObjectFieldImpl cannot be cast to org.drools.base.field.ClassFieldImpl
at org.drools.base.evaluators.EqualityEvaluatorsDefinition$ClassEqualEvaluator.evaluate(EqualityEvaluatorsDefinition.java:1772)
at org.drools.rule.LiteralRestriction.isAllowed(LiteralRestriction.java:87)
at org.drools.rule.LiteralConstraint.isAllowed(LiteralConstraint.java:109)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:130)
at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:451)
at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:369)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:134)
at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:451)
at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:379)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:204)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:244)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:330)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:291)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:882)
at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:180)
... 149 more
Wrapping the classField != null within an eval appears to be a work around.
This is in the suspect method:
public boolean evaluate(InternalWorkingMemory workingMemory,
final InternalReadAccessor extractor,
final Object object1, final FieldValue object2) {
Object value1 = extractor.getValue( workingMemory, object1 );
Object value2 = object2.getValue();
if ( value2 == null ) {
ClassFieldImpl classField = (ClassFieldImpl) object2;
value2 = classField.resolve( workingMemory );
}
return comparator.equals( value1, value2 );
}
I think the if statement just needs an instanceof check as well or some other way to track the fact that null may be a valid value to be comparing with!
Thomas
________________________________
**************************************************************************************
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster(a)nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************
13 years, 3 months
Not able to call parameterizied Java method in LHS
by Tinku
I tried to invoke parameterizied call to the java method and tried to compare
the return parameter from the method in the 'eval' function..The rule is not
getting executed ..
I am not sure if it is unable to invoke the java method and fetch the return
parameter or there is an issue with rule syntax..
Please help me in this regard.
LHS of the rule :
**************************************
import com.customObject
rule A
when
$B : customObject()
eval($B.getValue("Database").equals("ORACLE"))
then
System.out.println("The database object is oracle")
end
--
View this message in context: http://drools.46999.n3.nabble.com/Not-able-to-call-parameterizied-Java-me...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 3 months
Re: [rules-users] [rules-dev] java.lang.NullPointerException while testing
by Esteban Aliverti
First of all, I' moving this to drools-users list.
The problem seems to be that the application is not finding the change-set
file. Where is the ChangeSet(12).xml file placed? Is it reachable at the
first level of the classpath? Try to debug and see if the resource is in the
classpath. Try with this first:
this.getClass().getClassLoader().getResource("ChangeSet(12).xml");
Another solution could be to use a URLResource pointing to package's
change-set in Guvnor.
Best Regards,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
- Developer @ http://www.plugtree.com
- Blog @ http://ilesteban.wordpress.com
On Thu, Sep 29, 2011 at 9:15 AM, shubhranshu <shubhranshu.swain(a)gmail.com>wrote:
> Hello everybody,
>
> I am new to drools. We have to integrate drools in our application. After
> lot of searching a found something very helpful. Here is what I did.
>
> I created a new package say test.
> I uploaded a new jar file which contains my model.
> I created a new category say banking.
> Then I created a rule under the banking category in test package.
> Finally I create a new snapshot for deployment.
>
> Then I get the changeset.xml
> <change-set xmlns='http://drools.org/drools-5.0/change-set'
> xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
> xs:schemaLocation='http://drools.org/drools-5.0/change-set
>
> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/...
> '
> >
> <add>
> <resource
> source='
> http://localhost:8080/guvnor-5.2.0.Final-tomcat-6.0/org.drools.guvnor.Guv...
> '
> type='PKG' />
> </add>
> </change-set>
>
> Below is the code to test
>
> package com.test;
>
> import junit.framework.TestCase;
>
> import org.drools.KnowledgeBase;
> import org.drools.agent.KnowledgeAgent;
> import org.drools.agent.KnowledgeAgentConfiguration;
> import org.drools.agent.KnowledgeAgentFactory;
> import org.drools.io.ResourceFactory;
> import org.drools.runtime.StatefulKnowledgeSession;
>
>
> public class Test extends TestCase{
> public void testDroolsWithGuvnor() throws Exception {
> KnowledgeBase knowledgeBase = createKnowledgeBase();
> StatefulKnowledgeSession session =
> knowledgeBase.newStatefulKnowledgeSession();
> try {
> Person person = new Person();
> person.setAge(20);
> session.insert(person);
> assertTrue(session.getFactCount() == 1);
> session.fireAllRules();
> assertTrue(session.getFactCount() == 2);
> }
> finally {
> session.dispose();
> }
> }
>
> public static KnowledgeBase createKnowledgeBase(){
> KnowledgeAgentConfiguration kaconf =
> KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
> kaconf.setProperty( "drools.agent.scanDirectories", "false"
> );
> KnowledgeAgent kagent =
> KnowledgeAgentFactory.newKnowledgeAgent( "test
> agent", kaconf );
> kagent.applyChangeSet(
> ResourceFactory.newClassPathResource("ChangeSet(12).xml"));
> return kagent.getKnowledgeBase();
>
> }
> }
>
> But when i try to test it using junit i get the following exception.
>
>
> java.lang.NullPointerException
> at
>
> org.drools.agent.impl.KnowledgeAgentImpl.processChangeSet(KnowledgeAgentImpl.java:223)
> at
>
> org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:189)
> at
>
> org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:174)
> at com.test.Test.createKnowledgeBase(Test.java:34)
> at com.test.Test.testDroolsWithGuvnor(Test.java:15)
> 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 junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:243)
> at junit.framework.TestSuite.run(TestSuite.java:238)
> at
>
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> at
>
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
> at
>
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>
> Dont know how to deal with this
>
> please help
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/java-lang-NullPointerException-while-te...
> Sent from the Drools: Developer (committer) mailing list mailing list
> archive at Nabble.com.
> _______________________________________________
> rules-dev mailing list
> rules-dev(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
13 years, 3 months
Can you remove logging information from BatchExecutionCommand?
by dunnlow
I am sending a batchexecution command to a drools server:
8<...
MyBean mb = new MyBean();
List<Command> cmds = new ArrayList<Command>();
InsertObjectCommand insertCmd = (InsertObjectCommand)
CommandFactory.newInsert(mb);
insertCmd.setOutIdentifier("inserter");
insertCmd.setEntryPoint("Default");
cmds.add(insertCmd);
FireAllRulesCommand fireAllRulesCommand = new FireAllRulesCommand();
cmds.add(fireAllRulesCommand);
BatchExecutionCommand command =
CommandFactory.newBatchExecution(cmds,"ksession1");
String xml BatchExecutionHelper.newXstreammarshaller().toXML(command);
8<...
The xml created by that last line contains A LOT of logging information and
includes characters that seem to be invalid. (drools server throws a
"ConvertsionException, Invalid character reference: null character not
allowed in XML content" when it reads the XML)
Is there a way to tell the BatchExecutionHelper NOT not to include that
logger information?
ps. I tried things like turning off the root logger programmatically before
calling. Also, I tried setting a global parameter "logger" to a null object
(I saw that somewhere) but that didn't work either.
commands.add(CommandFactory.newSetGlobal("logger", null));
Thanks for any insight.
-J
--
View this message in context: http://drools.46999.n3.nabble.com/Can-you-remove-logging-information-from...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 3 months
ClassCastException on .splitNode().constraint()
by cyang
Hi,
I'm using jbpm-flow-5.2.0-SNAPSHOT.jar and got a *ClassCastException *below
with the following Drools flow snippet. I've tried mvel dialet as well and
got the same error.
*
.splitNode(1010).type(Split.TYPE_XOR).name("splitOnShouldActivate")
.constraint(305, "should activate", "code", "Java",
"(Boolean)(context.getVariable(\"shouldActivate\")) == Boolean.TRUE")
.constraint(2000, "should not activate", "code",
"Java",
"(Boolean)(context.getVariable(\"shouldActivate\")) == Boolean.FALSE")
.done
*
Exception in thread "main" java.lang.ClassCastException:
org.jbpm.workflow.core.impl.ConstraintImpl incompatible with
org.jbpm.process.instance.impl.ConstraintEvaluator
at
org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:69)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)
at
org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:55)
at
org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:51)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)
at
org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
at
org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:162)
at
org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:143)
at
org.jbpm.workflow.instance.node.SubProcessNodeInstance.internalTrigger(SubProcessNodeInstance.java:130)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)
at
org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:55)
at
org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:51)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)
at
org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
at
org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at
org.jbpm.workflow.instance.node.CompositeNodeInstance.internalTrigger(CompositeNodeInstance.java:106)
at
org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at
org.jbpm.workflow.instance.node.ForEachNodeInstance$ForEachSplitNodeInstance.internalTrigger(ForEachNodeInstance.java:97)
Thanks in advance.
--
View this message in context: http://drools.46999.n3.nabble.com/ClassCastException-on-splitNode-constra...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 3 months
Date validation in Guvnor
by mick00
Hi,
I want to validate the date format in my rule. I just want to check whether
my date is in the given format(yyyy-mm-dd) in my rule in Guvnor. Is it
possible to do such validation in Guvnor? I tried the same but got an
exception stating that the date is not in the given format(dd-MMM-yyyy). Can
someone suggest a solution as to how to validate the date in Guvnor?
Thanks,
mick
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Date-validation-in-Gu...
Sent from the Drools - User mailing list archive at Nabble.com.
13 years, 3 months
Unsatisfied rule fires - Drools bug?
by matvey1414
Hi,
I am working with Drools to implement a high-profile rules-engine. I have
two rules defined. Clearly, only the first should fire, but both do. Here is
my DRL:
package com.sample
import com.sample.DroolsTest.Request;
rule "ExpensiveCanonShopper0"
when
Request( attributeMap["camera0"] == "canon" &&
attributeMap["price0"] >= 500 )
then
System.out.println("ExpensiveCanonShopper0");
end
rule "ExpensiveCanonShopper1"
when
Request( attributeMap["camera1"] == "canon" &&
attributeMap["price1"] >= 500 )
then
System.out.println("ExpensiveCanonShopper1");
end
And the Java class to execute it:
public class DroolsTest {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static final void main(String[] args) {
try {
//Loading the Rules
System.out.println("Loading rules");
RuleBase ruleBase = readRule();
StatelessSession workingMemory =
ruleBase.newStatelessSession();
System.out.println("Firing rules");
Map map = new HashMap();
map.put("camera0", "canon");
map.put("price0", 600);
Request request = new Request();
request.setAttributeMap(map);
workingMemory.execute(request);
} catch (Throwable t) {
t.printStackTrace();
}
}
/**
* Please note that this is the “low level” rule assembly API.
*/
private static RuleBase readRule() throws Exception {
//read in the source
Reader source = new FileReader(new File("drl",
"Generated.drl"));
//optionally read in the DSL (if you are using it).
//Reader dsl = new InputStreamReader(
DroolsTest.class.getResourceAsStream( “/mylang.dsl” ) );
//Use package builder to build up a rule package.
//An alternative lower level class called “DrlParser” can
also be used…
PackageBuilder builder = new PackageBuilder();
//this wil parse and compile in one step
//NOTE: There are 2 methods here, the one argument one is
for normal DRL.
builder.addPackageFromDrl( source );
if (builder.hasErrors()) {
PackageBuilderErrors errors = builder.getErrors();
throw new RuntimeException("Error adding package to
builder: " + errors.toString());
}
//Use the following instead of above if you are using a DSL:
//builder.addPackageFromDrl( source, dsl );
//get the compiled package (which is serializable)
Package pkg = builder.getPackage();
//add the package to a rulebase (deploy the rule package).
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkg );
return ruleBase;
}
public static class Request {
private Map attributeMap;
public Map getAttributeMap() {
return attributeMap;
}
public void setAttributeMap(Map attributeMap) {
this.attributeMap = attributeMap;
}
}
}
The output is this, meaning both rules fired:
Loading rules
Firing rules
ExpensiveCanonShopper1
ExpensiveCanonShopper0
I have two questions:
1. Is this a bug, or am I doing something wrong? Only
"ExpensiveCanonShopper0" should fire.
2. I am pretty sure this is somehow related to the fact that I'm using Map
attributes, and not POJO to get "price0" and "camera0". My issue is that I
won't know the parameters in advance (they are coming in a URL), so I can't
pre-declare them, and thus need something dynamic like a Map. Is this how
Drools is intended to be used? The documentation appears very POJO-centric.
I am using Drools 5.2
Thank you!
-Matt
--
View this message in context: http://drools.46999.n3.nabble.com/Unsatisfied-rule-fires-Drools-bug-tp337...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 3 months
Getting Exception while running rules continuously on the Event Streams from Mule Component.
by Hari Kishan
Please find attached the rule Code (.drl) below.
Frequently getting this below Exception while running rules.
Exception caught while executing action:
org.drools.reteoo.PropagationQueuingNode$PropagateAction@41c317
java.lang.NullPointerException
at org.drools.util.LeftTupleList.toArray(LeftTupleList.java:106)
at org.drools.util.LeftTupleList.toArray(LeftTupleList.java:11)
at org.drools.reteoo.CollectNode.assertObject(CollectNode.java:256)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)
at
org.drools.reteoo.RightInputAdapterNode.assertLeftTuple(RightInputAdapterNode.java:135)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)
at org.drools.reteoo.FromNode.evaluateAndPropagate(FromNode.java:156)
at org.drools.reteoo.FromNode.assertLeftTuple(FromNode.java:104)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:145)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:39)
at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:175)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)
at
org.drools.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQueuingNode.java:326)
at
org.drools.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuingNode.java:221)
at
org.drools.reteoo.PropagationQueuingNode$PropagateAction.execute(PropagationQueuingNode.java:394)
at
org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1486)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:158)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:122)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:80)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:28)
at org.mule.module.drools.Drools.assertEvent(Drools.java:165)
at org.mule.module.bpm.Rules.handleEvent(Rules.java:131)
at org.mule.module.bpm.RulesComponent.doInvoke(RulesComponent.java:84)
at
org.mule.component.AbstractComponent.invokeInternal(AbstractComponent.java:120)
at
org.mule.component.AbstractComponent.access$000(AbstractComponent.java:56)
at
org.mule.component.AbstractComponent$1$1.process(AbstractComponent.java:234)
at
org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:88)
at
org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:89)
at
org.mule.processor.chain.InterceptingChainLifecycleWrapper.doProcess(InterceptingChainLifecycleWrapper.java:63)
at
org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:89)
at
org.mule.processor.chain.InterceptingChainLifecycleWrapper.process(InterceptingChainLifecycleWrapper.java:94)
at
org.mule.component.AbstractComponent.process(AbstractComponent.java:154)
at
org.mule.processor.AbstractInterceptingMessageProcessor.processNext(AbstractInterceptingMessageProcessor.java:93)
at
org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInterceptor.java:55)
at
org.mule.processor.AsyncInterceptingMessageProcessor.processNextTimed(AsyncInterceptingMessageProcessor.java:118)
at
org.mule.processor.SedaStageInterceptingMessageProcessor$SedaStageWorker.doWork(SedaStageInterceptingMessageProcessor.java:197)
at
org.mule.processor.SedaStageInterceptingMessageProcessor$SedaStageWorker.doRun(SedaStageInterceptingMessageProcessor.java:178)
at
org.mule.work.AbstractMuleEventWork.run(AbstractMuleEventWork.java:43)
at org.mule.work.WorkerContext.run(WorkerContext.java:309)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
http://drools.46999.n3.nabble.com/file/n3372189/sensors.drl sensors.drl
--
View this message in context: http://drools.46999.n3.nabble.com/Getting-Exception-while-running-rules-c...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 3 months
Job opening to work on Drools & jBPM in Argentina
by Mark Proctor
One of the largest healthcare organisations in Argentina is looking to
find two senior developers, full time, to work on Drools and jBPM. The
position is a long term contractual one and you must be based in Buenos
Aries, Argentina
The work is for R&D enhancements to Drools and jBPM, not for building
end user applications. It involves developing next generation authoring
environments for rules, workflow and the semantic web. The ideal
candidates would have a mixed set of skills including java, gwt and
javascript. Knowledge of Drools and jBPM is a plus, but not mandatory.
You will work day to day with the Drools and jBPM team, as part of their
community. All your work will be open source and you'll be able to
evangelise your work via community facilities, such as mailing lists and
blogs. This provides a unique opportunity to work on high profile
projects in a public manner and gain recognition for yourself and your work.
You can apply for the job here :
http://jobs.athico.com/job/senior-java-and-javascript-developer-to-work-o...
<http://jobs.athico.com/job/senior-java-and-javascript-developer-to-work-o...>
13 years, 3 months