I have a web-application based on JDK8, Tomcat7 (V2.1), Jersey (2.35) and CDI-Weld (2.4.8.Final)
Since I am starting tht web container, I receive this exception always twice. These two exceptions will appear then every 5 minutes. I think that any kind of timeout of tomcat?
The first exception will start with
ERROR Allocate exception for servlet package.RestApplication
The second one with:
ERROR StandardWrapper.Throwable
The following stack in both cases is identical and is shown here:
2022-04-25 13:56:34.3635 [10] INFO - [] 2022-04-25 13:56:34,369 ERROR StandardWrapper.Throwable [Jdk14Logger.java:101]
2022-04-25 13:56:34.3635 [10] INFO - [] java.lang.AbstractMethodError: Method org/glassfish/jersey/gf/cdi/internal/CdiComponentProvider.initialize(Lorg/glassfish/jersey/internal/inject/InjectionManager;)V is abstract
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.gf.cdi.internal.CdiComponentProvider.initialize(CdiComponentProvider.java)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.server.ComponentProviderConfigurator.lambda$null$0(ComponentProviderConfigurator.java:55)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:439)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.server.ComponentProviderConfigurator.lambda$init$1(ComponentProviderConfigurator.java:56)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:317)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.server.ApplicationConfigurator.createApplication(ApplicationConfigurator.java:98)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.server.ApplicationConfigurator.init(ApplicationConfigurator.java:72)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$0(ApplicationHandler.java:294)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.Arrays$ArrayList.forEach(Arrays.java:3880)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:294)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:261)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347)
2022-04-25 13:56:34.3635 [10] INFO - [] at javax.servlet.GenericServlet.init(GenericServlet.java:160)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1091)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
2022-04-25 13:56:34.3635 [10] INFO - [] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2022-04-25 13:56:34.3635 [10] INFO - [] at java.lang.Thread.run(Thread.java:748)
For Weld/CDI I have added:
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core</artifactId>
<version>2.4.8.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-spi</artifactId>
<version>2.4.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-api</artifactId>
<version>2.4.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
<version>2.4.8.Final</version>
</dependency>
For Jersey I have added:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.35</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.35</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-sse</artifactId>
<version>2.35</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-sse</artifactId>
<version>2.35</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>2.35</version>
</dependency>
Furthermore these:
<dependency>
<groupId>org.glassfish.jersey.containers.glassfish</groupId>
<artifactId>jersey-gf-cdi</artifactId>
<version>2.14</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers.glassfish</groupId>
<artifactId>jersey-gf-ejb</artifactId>
<version>2.35</version>
</dependency>
Does anybody see any incompatibility? Can somebody recognized why this exception occurs? Or is there any dependency missing?
There are many ways of solving it.
One the possibilities is to change to
BOMand remove all other jersey dependenciesPros
BOMmakes "single" very well tailored dependencyCons: