Bug 1006709

Summary: Drools scripts for EPN does not work
Product: [JBoss] JBoss Fuse Service Works 6 Reporter: Jiri Pechanec <jpechane>
Component: RT GovernanceAssignee: Gary Brown <gbrown>
Status: CLOSED CURRENTRELEASE QA Contact: Jiri Sedlacek <jsedlace>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.0.0 GACC: atangrin, etirelli, kbabo, kconner, ldimaggi, lpetrovi, mfusco, ncross, oskutka, soa-p-jira
Target Milestone: ER3Flags: gbrown: needinfo-
Target Release: 6.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jiri Pechanec 2013-09-11 07:19:04 UTC
Since ER2 Drools scripts in EPN no longer works. When a drl script is configured and configuration is deployed then an exception is thrown

08:35:42,616 SEVERE [org.overlord.rtgov.ep.drools.DroolsEventProcessor] (ServerService Thread Pool -- 72) Failed to load Drools rules 'epn-script.drl' for Event Processor 'epn-script': java.lang.NoClassDefFoundError: org/sonatype/aether/resolution/ArtifactResolutionException
	at org.kie.scanner.ArtifactResolver.getMavenProjectForGAV(ArtifactResolver.java:78) [kie-ci-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:56) [kie-ci-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:47) [kie-ci-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:50) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:38) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieModule(KieBuilderImpl.java:294) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:180) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.overlord.rtgov.ep.drools.DroolsEventProcessor.loadRuleBase(DroolsEventProcessor.java:189) [ep-drools-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.ep.drools.DroolsEventProcessor.createSession(DroolsEventProcessor.java:141) [ep-drools-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.ep.drools.DroolsEventProcessor.init(DroolsEventProcessor.java:57) [ep-drools-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.epn.Node.init(Node.java:229) [epn-core-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.epn.Network.preInit(Network.java:202) [epn-core-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.epn.AbstractEPNLoader.preInit(AbstractEPNLoader.java:34) [epn-core-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.internal.epn.loader.jee.JEEEPNLoader.init(JEEEPNLoader.java:92) [rtgov-activity-generation-test.jar:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]
	at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:130) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:73) [jboss-as-weld-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:248) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:344) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:66) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:126) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:141) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_25]
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_25]
	at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_25]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
	at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
	at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.resolution.ArtifactResolutionException from [Module "org.kie:main" from local module loader @55816088 (finder: local module finder @20e8ac93 (roots: /home/jpechane/releases/6A/modules,/home/jpechane/releases/6A/modules/system/layers/soa,/home/jpechane/releases/6A/modules/system/layers/base))]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final-redhat-1]
	... 51 more

08:35:42,634 SEVERE [org.overlord.rtgov.internal.epn.loader.jee.JEEEPNLoader] (ServerService Thread Pool -- 72) Failed to register network: java.lang.Exception: Failed to load Drools rules 'epn-script.drl' for Event Processor 'epn-script'
	at org.overlord.rtgov.ep.drools.DroolsEventProcessor.loadRuleBase(DroolsEventProcessor.java:205) [ep-drools-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.ep.drools.DroolsEventProcessor.createSession(DroolsEventProcessor.java:141) [ep-drools-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.ep.drools.DroolsEventProcessor.init(DroolsEventProcessor.java:57) [ep-drools-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.epn.Node.init(Node.java:229) [epn-core-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.epn.Network.preInit(Network.java:202) [epn-core-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.epn.AbstractEPNLoader.preInit(AbstractEPNLoader.java:34) [epn-core-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	at org.overlord.rtgov.internal.epn.loader.jee.JEEEPNLoader.init(JEEEPNLoader.java:92) [rtgov-activity-generation-test.jar:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]
	at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:130) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:73) [jboss-as-weld-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:248) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:344) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:66) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:126) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:141) [jboss-as-ejb3-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54) [jboss-as-ee-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_25]
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_25]
	at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_25]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
	at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
	at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.NoClassDefFoundError: org/sonatype/aether/resolution/ArtifactResolutionException
	at org.kie.scanner.ArtifactResolver.getMavenProjectForGAV(ArtifactResolver.java:78) [kie-ci-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:56) [kie-ci-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.kie.scanner.MavenClassLoaderResolver.getClassLoader(MavenClassLoaderResolver.java:47) [kie-ci-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:50) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieModuleKieProject.<init>(KieModuleKieProject.java:38) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieModule(KieBuilderImpl.java:294) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:180) [drools-compiler-6.0.0-redhat-2.jar:6.0.0-redhat-2]
	at org.overlord.rtgov.ep.drools.DroolsEventProcessor.loadRuleBase(DroolsEventProcessor.java:189) [ep-drools-1.0.0.Final-redhat-2.jar:1.0.0.Final-redhat-2]
	... 43 more
Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.resolution.ArtifactResolutionException from [Module "org.kie:main" from local module loader @55816088 (finder: local module finder @20e8ac93 (roots: /home/jpechane/releases/6A/modules,/home/jpechane/releases/6A/modules/system/layers/soa,/home/jpechane/releases/6A/modules/system/layers/base))]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final-redhat-1]
	... 51 more

According to Lukas Petrovicky (BRMS QE Lead) a code in DroolsEventProcessor.loadRuleBase is misusing a KIE API and should be implemented differently.

Comment 1 Jiri Pechanec 2013-09-11 07:45:48 UTC
Just to highlight - it uses Maven resolution now which is not present as a module, this is the cause of CFNE

Comment 2 Gary Brown 2013-09-11 08:16:03 UTC
Keith - I assume swyd still packages up the Drools/KIE modules in the SOA platform? If so, any idea why the sonatype class is not longer available?

Comment 3 Keith Babo 2013-09-11 12:55:22 UTC
Yep, we still package Drools/KIE.  We don't package any modules related to Maven resolution from Drools/KIE and to the best of my knowledge we never have.  The only thing that has really changed in this area is the bump to Drools/KIE 6.0.0.CR1.  

Some questions:
1) When did this start breaking?  Between which two builds?
2) Do you see these modules in earlier ER/DR builds?

Comment 4 Jiri Pechanec 2013-09-11 13:02:57 UTC
It worked in ER1 and it does not work in ER2.

Comment 5 Keith Babo 2013-09-11 13:07:01 UTC
I assume the rules quickstarts that we ship for SY still work in ER2, so that leads me to think the gov code which is calling Drools or Drools itself has changed between ER1 and ER2.

Comment 6 Gary Brown 2013-09-11 13:38:13 UTC
I've just tried rtgov master against swyd master (with drools/kie 6.0.0.CR1) and the sample EPNs worked fine.

However if the code is incorrect, can you get Lukas to provide guidance/reference on how it should be done?

Comment 7 Gary Brown 2013-09-11 14:27:53 UTC
@Nick - any idea what changes in the build between ER1 and 2 could have caused this? It works in community with latest releases and nothing relevant appears to have changed in rtgov and swyd?

Comment 8 Gary Brown 2013-09-11 15:08:40 UTC
Problem has been reproduced in community using Drools/KIE 6.0.0.CR2.

Comment 9 Edson Tirelli 2013-09-11 19:00:23 UTC
It looks like a dependency problem. For CR2 we started aligning dependencies with other projects, so I suggest you take a look at the dependencies you have in the classpath.

In particular, the class it is reporting is not found seems to belong to the aether-api-1.13.1 jar.

Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.resolution.ArtifactResolutionException

http://grepcode.com/file/repo1.maven.org/maven2/org.sonatype.aether/aether-api/1.13.1/org/sonatype/aether/resolution/ArtifactResolutionException.java

Comment 10 Gary Brown 2013-09-12 10:14:06 UTC
Have changed the implementation to use the same internal/deprecated classes used by switchyard for now. However we need to move to the new approach in the original implementation for GA.

Comment 11 JBoss JIRA Server 2013-09-12 10:16:01 UTC
Gary Brown <gary> updated the status of jira RTGOV-271 to Resolved

Comment 12 Lukáš Petrovický 2013-09-12 11:14:45 UTC
I looked into the problem in detail and it appears that the code is actually correct. It is the new way of doing this sort of thing. (Therefore, I retract my original statement about there being a better way through which Maven can be avoided.)

So, there's two possibilities:
a) Maybe Drools doesn't need to use Maven all the time and it should be
brought up with them.
b) More likely - you just need to add the additional dependencies to the
classpath.

Also, the following class already does what you are doing, so you can use it instead:
https://github.com/droolsjbpm/droolsjbpm-knowledge/blob/ca4988b7ba58a9a2612eb301be0a8b80976b0d18/kie-internal/src/main/java/org/kie/internal/utils/KieHelper.java

(However, it is in the kie-internal-api, and that one has far less guarantees on future stability.)

Comment 13 Gary Brown 2013-09-13 14:44:41 UTC
Ivan McKinley found this ref: https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound

Might explain the original issue.

Comment 14 Mario Fusco 2013-09-19 13:11:32 UTC
Quick premise: I'd need to reproduce this issue to have a full understanding of what is going wrong, but at the moment I don't know how, so this comment will be based on the following assumptions (that could be very likely wrong):

1. You have the kie-ci module in your classpath: org.kie.scanner.MavenClassLoaderResolver and org.kie.scanner.ArtifactResolver classes that I can see in the Exception stack belongs to that module, so this is hardly rebuttable.

2. Conversely you don't have aether-api in your classpath, or you have a different (older?) version from the 1.13.1 used by kie-ci and this is why you are getting that NoClassDefFoundError

3. Since aether-api is a dependency of kie-ci you explicitly excluded it from your pom file

If this is true, and you don't want to depend on aether, the quickest solution (that doesn't require any change to your code) is to just also exclude kie-ci on your classpath. In fact our ServiceRegistry is automatically choosing the MavenClassLoaderResolver class as implementation class for the ClassLoaderResolver service only because it can find it in the classpath. If it couldn't it would select the NoDepsClassLoaderResolver instead that doesn't require any aether dependency.

To cut it short, either have both kie-ci and aether-api in your classpath or none of them.

I hope this helps, but again if my assumptions are wrong please provide a test case that could allow me to investigate this issue in more details.

Comment 15 Keith Babo 2013-09-19 13:30:05 UTC
Hey Mario - regarding #3, this is an error at runtime in AS, so it's a JBoss AS module dependency issue and not a Maven pom issue.  I have asked David why the kie-ci module is included today.  I did a quick scan of the code and I don't see any direct use of the contents of kie-ci in our codebase.  Perhaps it was a dependency of the Drools codebase at some time in the past and David had to include it to get things working.  Or maybe it's just a legacy of some prior experimentation with Maven resolution support.  In any case, we can definitely investigate removing this module dependency altogether.  Just to confirm: kie-ci is not a required dependency of Drools or jBPM if we are not using the Maven resolution feature, right?

Thanks for your help!

Comment 16 Mario Fusco 2013-09-19 15:19:44 UTC
This is right Keith, kie-ci is completely optional and if you don't need to use any maven related feature you can safely leave it out.

Comment 17 Jiri Pechanec 2013-09-24 16:17:59 UTC
Verified in ER3

Comment 21 JBoss JIRA Server 2014-07-02 09:19:12 UTC
Gary Brown <gary> updated the status of jira RTGOV-271 to Closed