Ignite OSGI issues

classic Classic list List threaded Threaded
3 messages Options
Qingping Qingping
Reply | Threaded
Open this post in threaded view
|

Ignite OSGI issues

Today I tried to use Ignite's OSGI features in the Eclipse RCP project and
found some problems:
Ignite(2.6.0)
1.Ignite-core
   1) The cache-api-1.0.0.jar package that is included is not fully exported
(for example, no export: javax.cache.configuration), it should be replaced
with: org.apache.servicemix.bundles.javax-cache-api-1.1.0_1 .jar
    2) References to unpublished packages such as com.sun.management, which
need to be added at runtime
         -Dorg.osgi.framework.system.packages.extra=com.sun.management,sun.misc,sun.nio.ch
2.ignite-spring
   1) The spring-xxxxx-4.3.16.RELEASE.jar series that comes with it is not
an OSGI packaged version and should be replaced with the corresponding
org.apache.servicemix.bundles version (http://repo1.maven.org/maven2/org/
Apache/servicemix/bundles/ Download version 4.3.16)
   2) Even if replaced with the org.apache.servicemix.bundles version, since
the org.apache.servicemix.bundles does not reference the ignite-core plugin,
it cannot be dynamically created IgniteConfiguration when loading the Ignite
configuration from the file(OSGI Bundles can only use Java classes exported
by other OSGIBundles that they depend on (or import) (and these
servicemix.bundles obviously have neither dependencies nor import any Ignite
related types)).

 Error message :

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException:
Cannot find class [org.apache.ignite.configuration.IgniteConfiguration] for
bean with name 'grid.cfg' defined in InputStream resource [resource loaded
through InputStream]; Nested exception is java.lang.ClassNotFoundException:
org.apache.ignite.configuration.IgniteConfiguration)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1391)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:641)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:609)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1490)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1013)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:741)
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        at
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.applicationContext(IgniteSpringHelperImpl.java:418)
        ... 22 more
Caused by: java.lang.ClassNotFoundException:
org.apache.ignite.configuration.IgniteConfiguration
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at
org.eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:132)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:251)
        at
org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:401)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1438)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1383)
        ... 30 more




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: Ignite OSGI issues

Hello!

I suggest writing to developers list and/or creating tickets against Apache Ignite JIRA.

We do have OSGi test suite and it seems to mostly pass. If there's not enough understanding how it should work, you can discuss it on devlist.

Regards,
--
Ilya Kasnacheev


чт, 6 дек. 2018 г. в 11:54, Qingping <[hidden email]>:
Today I tried to use Ignite's OSGI features in the Eclipse RCP project and
found some problems:
Ignite(2.6.0)
1.Ignite-core
   1) The cache-api-1.0.0.jar package that is included is not fully exported
(for example, no export: javax.cache.configuration), it should be replaced
with: org.apache.servicemix.bundles.javax-cache-api-1.1.0_1 .jar
    2) References to unpublished packages such as com.sun.management, which
need to be added at runtime
         -Dorg.osgi.framework.system.packages.extra=com.sun.management,sun.misc,sun.nio.ch
2.ignite-spring
   1) The spring-xxxxx-4.3.16.RELEASE.jar series that comes with it is not
an OSGI packaged version and should be replaced with the corresponding
org.apache.servicemix.bundles version (http://repo1.maven.org/maven2/org/
Apache/servicemix/bundles/
Download version 4.3.16)
   2) Even if replaced with the org.apache.servicemix.bundles version, since
the org.apache.servicemix.bundles does not reference the ignite-core plugin,
it cannot be dynamically created IgniteConfiguration when loading the Ignite
configuration from the file(OSGI Bundles can only use Java classes exported
by other OSGIBundles that they depend on (or import) (and these
servicemix.bundles obviously have neither dependencies nor import any Ignite
related types)).

 Error message :

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException:
Cannot find class [org.apache.ignite.configuration.IgniteConfiguration] for
bean with name 'grid.cfg' defined in InputStream resource [resource loaded
through InputStream]; Nested exception is java.lang.ClassNotFoundException:
org.apache.ignite.configuration.IgniteConfiguration)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1391)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:641)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:609)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1490)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1013)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:741)
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        at
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.applicationContext(IgniteSpringHelperImpl.java:418)
        ... 22 more
Caused by: java.lang.ClassNotFoundException:
org.apache.ignite.configuration.IgniteConfiguration
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at
org.eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:132)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:251)
        at
org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:401)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1438)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1383)
        ... 30 more




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Qingping Qingping
Reply | Threaded
Open this post in threaded view
|

Re: Ignite OSGI issues