Hi,
Hi
I am using drools
I am getting this error after i run the rule after 10 times.
Can you please suggest me is there any i can do
i tried to chagne version of drools-core,api,compiler , but it does not
work.
my pom.xml is
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>5.1.1</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<version>5.1.1</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-api</artifactId>
<version>5.1.1</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-templates</artifactId>
<version>5.1.1</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
</dependency>
this is the code
public <T> T runRule(String ruleName, Object facts[], T result, String
resultName)
throws ERPServiceException {
if(ksession == null || ruleMap == null || ruleMap.size() == 0){
throw new ERPServiceException(ERPErrorCodes.ERR_NO_DATA_TO_PROCESS);
}
LOGGER.info("inside run rule");
List<FactHandle> factHandleList = new ArrayList<FactHandle>();
FactHandle factHandle = null;
for(Object fact: facts) {
LOGGER.info("rule fact:" + facts);
factHandle = ksession.insert(fact);
factHandleList.add(factHandle);
}
ksession.setGlobal(resultName, result);
/*
* ksession.addEventListener(kbaseRefresher);
*ksession.addEventListener(kbaseRefresher);
*/
String ruleFullName = null;
RuleEntry ruleEntry = ruleMap.get(ruleName);
if(ruleEntry != null){
Long ruleMetaDataId = ruleEntry.getRuleMetaDataId();
RuleMetaDataEntry metaDataEntry =
ruleMetaDataMap.get(ruleMetaDataId);
if(metaDataEntry != null &&
metaDataEntry.getRuleMetaDataParameterEntries() != null
&& metaDataEntry.getRuleMetaDataParameterEntries().size()<1) {
ruleFullName = metaDataEntry.getName();
}else{
ruleFullName = RULE_NAME_PREFIX + ruleName;
}
LOGGER.info("running rule: " + ruleFullName);
ksession.fireAllRules(new
RuleNameMatchesAgendaFilter(ruleFullName));
for(FactHandle fhandle: factHandleList){
ksession.retract(fhandle);
}
}
return result;
}
Caused by: java.lang.ExceptionInInitializerError
at
org.drools.concurrent.ExecutorProviderFactory.getExecutorProvider(ExecutorProviderFactory.java:12)
at
org.drools.rule.constraint.MvelConstraint$ExecutorHolder.<clinit>(MvelConstraint.java:259)
at
org.drools.rule.constraint.MvelConstraint.jitEvaluator(MvelConstraint.java:232)
at
org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:197)
at
org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:157)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)
at
com.myntra.commons.utils.RuleEngineCache.runRule(RuleEngineCache.java:152)
at
com.myntra.lms.manager.impl.CourierServiceabilityManagerImpl.getCouriers(CourierServiceabilityManagerImpl.java:221)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy93.getCouriers(Unknown Source)
at
com.myntra.lms.service.impl.CourierServiceabilityServiceImpl.getCouriers(CourierServiceabilityServiceImpl.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:166)
at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82)
... 38 more
Caused by: java.lang.IllegalArgumentException: Unable to instantiate service
for Class 'org.drools.concurrent.ExecutorProvider'
at org.drools.util.ServiceRegistryImpl.get(ServiceRegistryImpl.java:162)
at
org.drools.concurrent.ExecutorProviderFactory$ExecutorProviderHolder.<clinit>(ExecutorProviderFactory.java:8)
... 72 more
Caused by: java.lang.NullPointerException
at org.drools.util.ServiceRegistryImpl.get(ServiceRegistryImpl.java:160)
--
View this message in context:
http://drools.46999.n3.nabble.com/rules-users-Drools-5-4-0-FINAL-and-OSGI...
Sent from the Drools: User forum mailing list archive at
Nabble.com.