Uploaded image for project: 'Red Hat Data Grid'
  1. Red Hat Data Grid
  2. JDG-144

The query-dsl bundle does not export required packages for OSGi

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • JDG 7.0.0 ER5
    • JDG 7.0.0 ER2
    • Querying
    • None
    • Hide
      The query-dsl bundle does not export correct packages via Export-Package entry in Manifest.mf file. Packages called org.infinispan.query.dsl and org.infinispan.query.dsl.impl are required by other Hot Rod client modules. As a result, the Remote Queries are not available through camel-jbossdatagrid component.
      Show
      The query-dsl bundle does not export correct packages via Export-Package entry in Manifest.mf file. Packages called org.infinispan.query.dsl and org.infinispan.query.dsl.impl are required by other Hot Rod client modules. As a result, the Remote Queries are not available through camel-jbossdatagrid component.

    Description

      In JDG 6.6 the query-dsl bundle was exporting org.infinispan.query.dsl and org.infinispan.query.dsl.impl packages in Manifest.mf:

      Export-Package: org.infinispan.query.dsl;version="6.4.0.Final-redhat-4",
       org.infinispan.query.dsl.impl;version="6.4.0.Final-redhat-4";uses:="org
       .infinispan.query.dsl"
      

      Now, in JDG 7.0.0.ER2, it exports different packages:

      Export-Package: org.infinispan.query.api.continuous;version="8.3.0.ER2-r
       edhat-1";uses:="org.infinispan.query.dsl",org.infinispan.query.dsl;vers
       ion="8.3.0.ER2-redhat-1"
      

      This is causing the following problem when running tests for Remote Query in Fuse (OSGi):

      ....
      Caused by: java.lang.NoClassDefFoundError: org/infinispan/query/dsl/impl/BaseQueryFactory
      	at java.lang.ClassLoader.defineClass1(Native Method)[:1.8.0_71]
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:760)[:1.8.0_71]
      	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2318)
      	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1524)
      	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)
      	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_71]
      	at org.infinispan.client.hotrod.Search.getQueryFactory(Search.java:23)
      	at org.apache.camel.component.infinispan.remote.InfinispanRemoteOperation.buildQuery(InfinispanRemoteOperation.java:38)
      	at org.apache.camel.component.infinispan.InfinispanOperation$Operation.getQuery(InfinispanOperation.java:354)
      	at org.apache.camel.component.infinispan.InfinispanOperation$Operation$17.execute(InfinispanOperation.java:323)
      	at org.apache.camel.component.infinispan.InfinispanOperation.process(InfinispanOperation.java:39)
      	at org.apache.camel.component.infinispan.InfinispanProducer.process(InfinispanProducer.java:42)
      	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
      	... 67 more
      Caused by: java.lang.ClassNotFoundException: org.infinispan.query.dsl.impl.BaseQueryFactory not found by org.infinispan.client-hotrod [273]
      	at 
      

      This happens when running org.apache.camel.component.infinispan.InfinispanRemoteQueryProducerIT from Camel distribution.

      Attachments

        Issue Links

          Activity

            People

              anistor Adrian Nistor (Inactive)
              mgencur Martin Gencur
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: