Spring + Jersey Integration Issue - SpringScopeContext must be in the Singleton scope

338 Views Asked by At

I am having trouble integrating Jersey with Spring. I am getting the following exception while starting up the server.

Jersey 2.32, Spring 5.2.12, Weblogic:12.2.1.3

WARNING: The following warnings have been detected: WARNING: HK2 failure has been detected in a code that does not run in an active Jersey Error scope. WARNING: Unknown HK2 failure detected: MultiException stack 1 of 1 java.lang.IllegalArgumentException: The implementation class org.jvnet.hk2.spring.bridge.internal.SpringScopeContext must be in the Singleton scope at org.jvnet.hk2.internal.ServiceLocatorImpl.checkConfiguration(ServiceLocatorImpl.java:1722) at org.jvnet.hk2.internal.ServiceLocatorImpl.addConfiguration(ServiceLocatorImpl.java:2118) at org.jvnet.hk2.internal.DynamicConfigurationImpl.commit(DynamicConfigurationImpl.java:286) at org.jvnet.hk2.spring.bridge.internal.SpringBridgeImpl.initializeSpringBridge(SpringBridgeImpl.java:64) at org.glassfish.jersey.server.spring.SpringComponentProvider.initialize(SpringComponentProvider.java:87) at org.glassfish.jersey.server.ComponentProviderConfigurator.lambda$null$0(ComponentProviderConfigurator.java:55) at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:439) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566) at org.glassfish.jersey.server.ComponentProviderConfigurator.lambda$init$1(ComponentProviderConfigurator.java:56) at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:317) at org.glassfish.jersey.server.ApplicationConfigurator.createApplication(ApplicationConfigurator.java:98) at org.glassfish.jersey.server.ApplicationConfigurator.init(ApplicationConfigurator.java:72) at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$0(ApplicationHandler.java:290) at java.util.Arrays$ArrayList.forEach(Arrays.java:3880) at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:290) at org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:259) at org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:311) at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154) at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347) at javax.servlet.GenericServlet.init(GenericServlet.java:244) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:343) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:294) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326) at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:99) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:87) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:71) at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:57) at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:31) at weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:673) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:612) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2064) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:2041) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1930) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3101) .... .... .... org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1287) at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:333) at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:375) at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305) at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85) at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116) at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:698) at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:78) at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212) at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235) at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358) at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305) at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85) at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116) at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1237) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1168) at

<Mar 1, 2021 5:33:15,903 AM CST> <Servlet: "REST Web Application" failed to preload on startup in Web application: "ws.war". A MultiException has 1 exceptions. They are:

  1. java.lang.IllegalArgumentException: The implementation class org.jvnet.hk2.spring.bridge.internal.SpringScopeContext must be in the Singleton scope

    at org.jvnet.hk2.internal.ServiceLocatorImpl.checkConfiguration(ServiceLocatorImpl.java:1722) at org.jvnet.hk2.internal.ServiceLocatorImpl.addConfiguration(ServiceLocatorImpl.java:2118) at org.jvnet.hk2.internal.DynamicConfigurationImpl.commit(DynamicConfigurationImpl.java:286) at org.jvnet.hk2.spring.bridge.internal.SpringBridgeImpl.initializeSpringBridge(SpringBridgeImpl.java:64) at org.glassfish.jersey.server.spring.SpringComponentProvider.initialize(SpringComponentProvider.java:87) Truncated. see log file for complete stacktrace Caused By: java.lang.IllegalArgumentException: The implementation class org.jvnet.hk2.spring.bridge.internal.SpringScopeContext must be in the Singleton scope at org.jvnet.hk2.internal.ServiceLocatorImpl.checkConfiguration(ServiceLocatorImpl.java:1722) at org.jvnet.hk2.internal.ServiceLocatorImpl.addConfiguration(ServiceLocatorImpl.java:2118) at org.jvnet.hk2.internal.DynamicConfigurationImpl.commit(DynamicConfigurationImpl.java:286) at org.jvnet.hk2.spring.bridge.internal.SpringBridgeImpl.initializeSpringBridge(SpringBridgeImpl.java:64) at org.glassfish.jersey.server.spring.SpringComponentProvider.initialize(SpringComponentProvider.java:87) Truncated. see log file for complete stacktrace

0

There are 0 best solutions below