[rules-users] Drools 5.4.0.FINAL and OSGI. Unable to instantiate service for Class 'org.drools.concurrent.ExecutorProvider'

ikbhal iqbalforall at gmail.com
Mon Jan 21 08:01:39 EST 2013


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-Unable-to-instantiate-service-for-Class-org-drools-concurren-tp4017660p4021686.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list