Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hazelcast Tomcat Session Manager does not work with Tomcat 10 #116

Open
PStoner3 opened this issue Jun 1, 2021 · 2 comments
Open

Hazelcast Tomcat Session Manager does not work with Tomcat 10 #116

PStoner3 opened this issue Jun 1, 2021 · 2 comments

Comments

@PStoner3
Copy link

PStoner3 commented Jun 1, 2021

I am testing Tomcat version 10.0.6. The plugin does not work on Tomcat 10 with the following error:

01-Jun-2021 14:29:31.806 SEVERE [main] org.apache.catalina.core.StandardPipeline.addValve Error starting Valve
        org.apache.catalina.LifecycleException: Failed to initialize component [HazelcastSessionChangeValve[StandardEngine[Catalina].StandardHost[localhost].S                            tandardContext[/mfgweb]]]
                at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:173)
                at org.apache.catalina.core.StandardPipeline.addValve(StandardPipeline.java:338)
                at com.hazelcast.session.HazelcastSessionManager.configureValves(HazelcastSessionManager.java:138)
                at com.hazelcast.session.HazelcastSessionManager.startInternal(HazelcastSessionManager.java:74)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5138)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:743)
                at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1026)
                at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1993)
                at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
                at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:827)
                at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:477)
                at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1701)
                at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:320)
                at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
                at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
                at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:880)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
                at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.startup.Catalina.start(Catalina.java:795)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:567)
                at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
                at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
        Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletException
                at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
                at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3334)
                at java.base/java.lang.Class.privateGetPublicMethods(Class.java:3359)
                at java.base/java.lang.Class.getMethods(Class.java:1990)
                at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsIntrospectionSource.createManagedBean(MbeansDescriptorsIntrospectionSource.java:302                            )
                at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsIntrospectionSource.execute(MbeansDescriptorsIntrospectionSource.java:78)
                at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsIntrospectionSource.loadDescriptors(MbeansDescriptorsIntrospectionSource.java:71)
                at org.apache.tomcat.util.modeler.Registry.load(Registry.java:612)
                at org.apache.tomcat.util.modeler.Registry.findManagedBean(Registry.java:518)
                at org.apache.tomcat.util.modeler.Registry.registerComponent(Registry.java:641)
                at org.apache.catalina.util.LifecycleMBeanBase.register(LifecycleMBeanBase.java:153)
                at org.apache.catalina.util.LifecycleMBeanBase.initInternal(LifecycleMBeanBase.java:54)
                at org.apache.catalina.valves.ValveBase.initInternal(ValveBase.java:151)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
                ... 45 more
        Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletException
                at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:433)
                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:586)
                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
                ... 59 more
01-Jun-2021 14:29:31.809 SEVERE [main] org.apache.catalina.core.StandardPipeline.addValve Error starting Valve
        org.apache.catalina.LifecycleException: Failed to initialize component [HazelcastSessionCommitValve[StandardEngine[Catalina].StandardHost[localhost].S                            tandardContext[/mfgweb]]]
                at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:173)
                at org.apache.catalina.core.StandardPipeline.addValve(StandardPipeline.java:338)
                at com.hazelcast.session.HazelcastSessionManager.configureValves(HazelcastSessionManager.java:144)
                at com.hazelcast.session.HazelcastSessionManager.startInternal(HazelcastSessionManager.java:74)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5138)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:743)
                at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1026)
                at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1993)
                at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
                at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:827)
                at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:477)
                at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1701)
                at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:320)
                at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
                at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
                at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:880)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
                at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.startup.Catalina.start(Catalina.java:795)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:567)
                at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
                at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
        Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletException
                at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
                at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3334)
                at java.base/java.lang.Class.privateGetPublicMethods(Class.java:3359)
                at java.base/java.lang.Class.getMethods(Class.java:1990)
                at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsIntrospectionSource.createManagedBean(MbeansDescriptorsIntrospectionSource.java:302                            )
                at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsIntrospectionSource.execute(MbeansDescriptorsIntrospectionSource.java:78)
                at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsIntrospectionSource.loadDescriptors(MbeansDescriptorsIntrospectionSource.java:71)
                at org.apache.tomcat.util.modeler.Registry.load(Registry.java:612)
                at org.apache.tomcat.util.modeler.Registry.findManagedBean(Registry.java:518)
                at org.apache.tomcat.util.modeler.Registry.registerComponent(Registry.java:641)
                at org.apache.catalina.util.LifecycleMBeanBase.register(LifecycleMBeanBase.java:153)
                at org.apache.catalina.util.LifecycleMBeanBase.initInternal(LifecycleMBeanBase.java:54)
                at org.apache.catalina.valves.ValveBase.initInternal(ValveBase.java:151)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
                ... 45 more
        Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletException
                at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:433)
                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:586)
                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
                ... 59 more

The issue lies in tomcat-core the HazelcastSessionCommitValve. This imports javax.servlet.ServletException. Tomcat 10 is build for servlet spec 5 and has renamed changed root package names from javax.servlet to jakarta.servlet.

I will attempt to fork the project and make the necessary changes, and will submit a PR for inclusion into the project

@PStoner3 PStoner3 closed this as not planned Won't fix, can't repro, duplicate, stale Jun 2, 2023
@arelkar
Copy link

arelkar commented Feb 23, 2024

@PStoner3 - Any reason why there is no plan to have support for tomcat-10? Just curious

@PStoner3
Copy link
Author

@PStoner3 - Any reason why there is no plan to have support for tomcat-10? Just curious

I forgot all about this. I'll work on this as soon as I am able.

@PStoner3 PStoner3 reopened this Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants