我目前正在尝试在OSGI容器中启动Apache Ignite,但出现此错误:
无法通过OSGi Activator启动Ignite [errMsg =无法找到空 类的构造函数: o.a.i.i.processors.platform.websession.PlatformDotNetSessionLockResult]类 org.apache.ignite.binary.BinaryObjectException:找不到空 类的构造函数: org.apache.ignite.internal.processors.platform.websession.PlatformDotNetSessionLockResult 在 org.apache.ignite.internal.binary.BinaryClassDescriptor.constructor(BinaryClassDescriptor.java:976) 在 org.apache.ignite.internal.binary.BinaryClassDescriptor。(BinaryClassDescriptor.java:265) 在 org.apache.ignite.internal.binary.BinaryContext.registerPredefinedType(BinaryContext.java:1053) 在 org.apache.ignite.internal.binary.BinaryContext.registerPredefinedType(BinaryContext.java:1038) 在 org.apache.ignite.internal.binary.BinaryContext。(BinaryContext.java:349) 在 org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.start(CacheObjectBinaryProcessorImpl.java:207) 在 org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1739) 在 org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:977) 在 org.apache.ignite.internal.IgnitionEx $ IgniteNamedInstance.start0(IgnitionEx.java:2014) 在 org.apache.ignite.internal.IgnitionEx $ IgniteNamedInstance.start(IgnitionEx.java:1723) 在org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151) 在org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)处 org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:596)位于 org.apache.ignite.Ignition.start(Ignition.java:327)位于 org.apache.ignite.osgi.IgniteAbstractOsgiContextActivator.start(IgniteAbstractOsgiContextActivator.java:108) 在 org.eclipse.osgi.internal.framework.BundleContextImpl $ 3.run(BundleContextImpl.java:779) 在 org.eclipse.osgi.internal.framework.BundleContextImpl $ 3.run(BundleContextImpl.java:1) 在java.security.AccessController.doPrivileged(本机方法)在 org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772) 在 org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729) 在 org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002) 在 org.eclipse.osgi.internal.framework.EquinoxBundle $ EquinoxModule.startWorker(EquinoxBundle.java:354) 在org.eclipse.osgi.container.Module.doStart(Module.java:581)处 org.eclipse.osgi.container.Module.start(Module.java:449)在 org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:428) 在aQute.launcher.Launcher.startBundles(Launcher.java:517)在 aQute.launcher.Launcher.activate(Launcher.java:423)在 aQute.launcher.Launcher.run(Launcher.java:301)在 aQute.launcher.Launcher.main(Launcher.java:147)
我使用了Apache Ignite文档网站中描述的最小设置:
点燃核
ignite-osgi
javax缓存api
我扩展了IgniteAbstractOsgiContextActivator,并添加了最小配置。