我正在运行一个 OSGI 插件项目(没有捆绑包),我在其中集成了 hazelcast,
我。当我尝试将数据添加为字符串和测试 bean 的映射时,它被添加到淡褐色投射映射中,但是!
二.当我尝试获取地图时,它显示错误如下,
com.hazelcast.nio.serialization.HazelcastSerializationException:
java.lang.类未找到异常: com.test.Data 找不到com.eclipsesource.jaxrs.jersey-all_2.10.1.SR1
全栈跟踪
com.hazelcast.nio.serialization.HazelcastSerializationException:
java.lang.ClassNotFoundException:找不到 com.test.Data
com.eclipsesource.jaxrs.jersey-all_2.10.1.SR1 位于
com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer.read(DefaultSerializers.java:201)
在
com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAdapter.java:63)
在
com.hazelcast.nio.serialization.SerializationServiceImpl.readObject(SerializationServiceImpl.java:285)
在
com.hazelcast.nio.serialization.SerializationServiceImpl.toObject(SerializationServiceImpl.java:262)
在
com.hazelcast.client.spi.ClientProxy.toObject(ClientProxy.java:156)
在
com.hazelcast.client.proxy.ClientMapProxy.values(ClientMapProxy.java:629)
在
com.test.commons.db.hazelcast.HazelCastDao.fetchingMapInstance(HazelCastDao.java:126)
在 com.test.services.agent.dao.DataDao.getData(DataDao.java:79) 处
com.test.services.agent.eapi.ExecuteEAPI.executePOSTRequest(ExecuteEAPI.java:105)
在
com.test.services.ztp.BootStrapLoaderService.getZTPConfigDetails(BootStrapLoaderService.java:55)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 处
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
在
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:601) 处
org.glassfish.jersey.server.model.internal.ResourceMethodInitationHandlerFactory$1.invoke(ResourceMethodInitationHandlerFactory.java:81)
在
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
在
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
在
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152)
在
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
在
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387)
在
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331)
在
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103)
在
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:271)
在 org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 处
org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 在
org.glassfish.jersey.internal.Errors.process(Errors.java:315) 在
org.glassfish.jersey.internal.Errors.process(Errors.java:297) 在
org.glassfish.jersey.internal.Errors.process(Errors.java:267) 在
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297)
在
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254)
在
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028)
在
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372)
在
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381)
在
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344)
在
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
在
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
在
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
在
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 处
org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:386)
在
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
在
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
在
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
在
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
在
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
在
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
在
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
在
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
在
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
在 org.eclipse.jetty.server.Server.handle(Server.java:370) 处
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
在
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
在
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
在 org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
在
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
在
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
在
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
在
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
在
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
在
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
在 java.lang.Thread.run(Thread.java:722) 引起的:
java.lang.ClassNotFoundException:找不到 com.test.data
com.eclipsesource.jaxrs.jersey-all_2.10.1.SR1 位于
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
在
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
在
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
在
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) 处
com.hazelcast.nio.ClassLoaderUtil.tryLoadClass(ClassLoaderUtil.java:124)
在
com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:113)
在 com.hazelcast.nio.IOUtil$1.resolveClass(IOUtil.java:122) 处
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
在
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
在
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
在
com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer.read(DefaultSerializers.java:196)
... 60 更多
当创建一个HazelcastInstance
using Hazelcast::newHazelcastInstance
你可以给它一个Config
实例作为参数。如果你不这样做Config
实例是从类路径可用的配置文件创建的。XmlConfigBuilder
可以创造Config
也从这些文件中。
当你得到了Config
你调用的实例Config::setConfigClassLoader
并将其设置为您的包类加载器。
Config config = new XmlConfigBuilder().build();
config.setClassLoader(getBundleClassLoader());
HazelcastInstance hz = Hazelcast.newHazelcastInstance(config);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)