Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.6, 2.7
-
None
-
Docs Required
Description
When using the Ignite OSGI feature in Eclipse RCP, there are a lot of Issues:
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 :
class org.apache.ignite.IgniteException: Failed to create Ignite component (consider adding ignite-spring module to classpath) [component=SPRING, cls=org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl] at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:1025) at org.apache.ignite.Ignition.start(Ignition.java:401) at ignite.examp.IgniteExampBase.startStdClient(IgniteExampBase.java:72) at ignite.examp.cluster.IgniteComputeExamp.main(IgniteComputeExamp.java:50) at ignite.examp.eclipse.IgniteExamp_Application.start(IgniteExamp_Application.java:23) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) at org.eclipse.equinox.launcher.Main.run(Main.java:1499) at org.eclipse.equinox.launcher.Main.main(Main.java:1472) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to create Ignite component (consider adding ignite-spring module to classpath) [component=SPRING, cls=org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl] at org.apache.ignite.internal.IgniteComponentType.componentException(IgniteComponentType.java:320) at org.apache.ignite.internal.IgniteComponentType.create0(IgniteComponentType.java:296) at org.apache.ignite.internal.IgniteComponentType.create(IgniteComponentType.java:207) at org.apache.ignite.internal.IgnitionEx.loadConfigurations(IgnitionEx.java:769) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:1032) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:982) at org.apache.ignite.Ignition.start(Ignition.java:398) ... 16 more Caused by: java.lang.ClassNotFoundException: org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl cannot be found by com.cimstech.xlibs.ignite_1.0.0 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.apache.ignite.internal.IgniteComponentType.create0(IgniteComponentType.java:282) ... 21 more