[jboss-jira] [JBoss JIRA] (DROOLS-2773) NPE when creating a new KieScanner

Raphael Bowen Giudice (JIRA) issues at jboss.org
Mon Jul 23 10:38:00 EDT 2018


     [ https://issues.jboss.org/browse/DROOLS-2773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Raphael Bowen Giudice updated DROOLS-2773:
------------------------------------------
    Description: 
When creating a new *KieScanner*, a *NullPointerException*  is thrown. Here's the code where the *KieScanner* is created:

{code:java}
final KieServices kieServices = KieServices.Factory.get();

final KieContainer kieContainer = kieServices.newKieContainer(
    kieServices.newReleaseId("mygroup", "rules", "1.0-SNAPSHOT"));


final KieScanner kieScanner = kieServices.newKieScanner(kieContainer);
{code}

The method *indexArtifacts* in the *KieRepositoryScannerImpl* class, tries to index all the Maven artefacts.In my case, the artefact *sun.jdk:jconsole:jdk* cannot be resolved, which causes the *NullPointerException* in the line 399:

{code:java}
private Map<ReleaseId, DependencyDescriptor> indexArtifacts() {
    Map<ReleaseId, DependencyDescriptor> depsMap = new HashMap<ReleaseId, DependencyDescriptor>();
    for (DependencyDescriptor dep : artifactResolver.getAllDependecies()) {
        if ( !"test".equals(dep.getScope()) && !"provided".equals(dep.getScope()) && !"system".equals(dep.getScope()) ) {
            Artifact artifact = artifactResolver.resolveArtifact(dep.getReleaseId());
            log.debug( artifact + " resolved to  " + artifact.getFile() ); // NPE happens here.
            if (isKJar(artifact.getFile())) {
                depsMap.put(adapt( dep.getReleaseIdWithoutVersion() ), new DependencyDescriptor(artifact));
            }
        } else {
            log.debug("{} does not need to be resolved because in scope {}", dep, dep.getScope());
        }
    }
    return depsMap;
}
{code}

The curious part is that the *sun.jdk:jconsole:jdk* artefact is not declared in any of my projects or dependencies, as far as I could investigate.

Here's the NPE stack trace:

{code}
Caused by: java.lang.NullPointerException: null
	at org.kie.scanner.KieRepositoryScannerImpl.indexArtifacts(KieRepositoryScannerImpl.java:399)
	at org.kie.scanner.KieRepositoryScannerImpl.setKieContainer(KieRepositoryScannerImpl.java:116)
	at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieScanner(KieServicesImpl.java:227)
	at com.test.ServiceConfoguration.kieContainer(ServiceConfoguration.java:84)
	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2.CGLIB$kieContainer$2(<generated>)
	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2$$FastClassBySpringCGLIB$$f73690dd.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356)
	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2.kieContainer(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
	... 19 common frames omitted
{code}

 

  was:
When creating a new *KieScanner*, a *NullPointerException*  is thrown. Here's the code where the *KieScanner* is created:

{code:java}
final KieServices kieServices = KieServices.Factory.get();

final KieContainer kieContainer = kieServices.newKieContainer(
    kieServices.newReleaseId("mygroup", "rules", "1.0-SNAPSHOT"));


final KieScanner kieScanner = kieServices.newKieScanner(kieContainer);
code}

The method *indexArtifacts* in the *KieRepositoryScannerImpl* class, tries to index all the Maven artefacts.In my case, the artefact *sun.jdk:jconsole:jdk* cannot be resolved, which causes the *NullPointerException* in the line 399:

{code:java}
private Map<ReleaseId, DependencyDescriptor> indexArtifacts() {
    Map<ReleaseId, DependencyDescriptor> depsMap = new HashMap<ReleaseId, DependencyDescriptor>();
    for (DependencyDescriptor dep : artifactResolver.getAllDependecies()) {
        if ( !"test".equals(dep.getScope()) && !"provided".equals(dep.getScope()) && !"system".equals(dep.getScope()) ) {
            Artifact artifact = artifactResolver.resolveArtifact(dep.getReleaseId());
            log.debug( artifact + " resolved to  " + artifact.getFile() ); // NPE happens here.
            if (isKJar(artifact.getFile())) {
                depsMap.put(adapt( dep.getReleaseIdWithoutVersion() ), new DependencyDescriptor(artifact));
            }
        } else {
            log.debug("{} does not need to be resolved because in scope {}", dep, dep.getScope());
        }
    }
    return depsMap;
}
{code}

The curious part is that the *sun.jdk:jconsole:jdk* artefact is not declared in any of my projects or dependencies, as far as I could investigate.

Here's the NPE stack trace:

{code}
Caused by: java.lang.NullPointerException: null
	at org.kie.scanner.KieRepositoryScannerImpl.indexArtifacts(KieRepositoryScannerImpl.java:399)
	at org.kie.scanner.KieRepositoryScannerImpl.setKieContainer(KieRepositoryScannerImpl.java:116)
	at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieScanner(KieServicesImpl.java:227)
	at com.test.ServiceConfoguration.kieContainer(ServiceConfoguration.java:84)
	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2.CGLIB$kieContainer$2(<generated>)
	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2$$FastClassBySpringCGLIB$$f73690dd.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356)
	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2.kieContainer(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
	... 19 common frames omitted
{code}

 



> NPE when creating a new KieScanner
> ----------------------------------
>
>                 Key: DROOLS-2773
>                 URL: https://issues.jboss.org/browse/DROOLS-2773
>             Project: Drools
>          Issue Type: Bug
>          Components: kie server
>    Affects Versions: 7.8.0.Final
>            Reporter: Raphael Bowen Giudice
>            Assignee: Edson Tirelli
>
> When creating a new *KieScanner*, a *NullPointerException*  is thrown. Here's the code where the *KieScanner* is created:
> {code:java}
> final KieServices kieServices = KieServices.Factory.get();
> final KieContainer kieContainer = kieServices.newKieContainer(
>     kieServices.newReleaseId("mygroup", "rules", "1.0-SNAPSHOT"));
> final KieScanner kieScanner = kieServices.newKieScanner(kieContainer);
> {code}
> The method *indexArtifacts* in the *KieRepositoryScannerImpl* class, tries to index all the Maven artefacts.In my case, the artefact *sun.jdk:jconsole:jdk* cannot be resolved, which causes the *NullPointerException* in the line 399:
> {code:java}
> private Map<ReleaseId, DependencyDescriptor> indexArtifacts() {
>     Map<ReleaseId, DependencyDescriptor> depsMap = new HashMap<ReleaseId, DependencyDescriptor>();
>     for (DependencyDescriptor dep : artifactResolver.getAllDependecies()) {
>         if ( !"test".equals(dep.getScope()) && !"provided".equals(dep.getScope()) && !"system".equals(dep.getScope()) ) {
>             Artifact artifact = artifactResolver.resolveArtifact(dep.getReleaseId());
>             log.debug( artifact + " resolved to  " + artifact.getFile() ); // NPE happens here.
>             if (isKJar(artifact.getFile())) {
>                 depsMap.put(adapt( dep.getReleaseIdWithoutVersion() ), new DependencyDescriptor(artifact));
>             }
>         } else {
>             log.debug("{} does not need to be resolved because in scope {}", dep, dep.getScope());
>         }
>     }
>     return depsMap;
> }
> {code}
> The curious part is that the *sun.jdk:jconsole:jdk* artefact is not declared in any of my projects or dependencies, as far as I could investigate.
> Here's the NPE stack trace:
> {code}
> Caused by: java.lang.NullPointerException: null
> 	at org.kie.scanner.KieRepositoryScannerImpl.indexArtifacts(KieRepositoryScannerImpl.java:399)
> 	at org.kie.scanner.KieRepositoryScannerImpl.setKieContainer(KieRepositoryScannerImpl.java:116)
> 	at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieScanner(KieServicesImpl.java:227)
> 	at com.test.ServiceConfoguration.kieContainer(ServiceConfoguration.java:84)
> 	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2.CGLIB$kieContainer$2(<generated>)
> 	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2$$FastClassBySpringCGLIB$$f73690dd.invoke(<generated>)
> 	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
> 	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356)
> 	at com.test.ServiceConfoguration$$EnhancerBySpringCGLIB$$4fd6caf2.kieContainer(<generated>)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
> 	... 19 common frames omitted
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list