Hi Chris,

________________________________
寄件者: Christopher Schultz <ch...@christopherschultz.net>
寄件日期: 2023年7月27日 0:35
收件者: users@tomcat.apache.org <users@tomcat.apache.org>
主旨: Re: Persist function in host manager working in 9.0.60 but not 10.1.x

Mason,

On 7/24/23 20:39, Fong Mason wrote:
> Last month I setup a new Tomcat instance (10.1.9) since I want to have a try 
> of Spring 6.x. Everything was working fine until I need to add a new virtual 
> host. I had followed the instructions in 
> https://tomcat.apache.org/tomcat-10.1-doc/host-manager-howto.html to add a 
> new Listener in server.xml. After I added a new virtual host and pressed 
> “All” under persist configuration, the GUI said “OK - Configuration 
> persisted” but actually the config is not persisted. I checked the log and 
> found the following error:
> org.apache.catalina.storeconfig.StoreConfig.store Error storing server
>    java.lang.NoSuchMethodExeption: 
> org.apache.catalina.realm.CombinedRealm$CombinedRealmCredentialHandler.<init>()
>
> I tried to upgrade to 10.1.11 but the same problem exists, the same also 
> happened for 9.0.78.
>
> Then I downloaded 9.0.60 to try as I have another server running it and the 
> persist function is working there. This time everything worked as expected. I 
> tried to look at the source code of 9.0.60 and seems there is no 
> ComibinedRealmCredentialHandler subclass in 9.0.60 but only in later 
> versions. I am not sure if this is the cause of the problem though.
>
> Any suggestion to make persist function work in host manager to work in 10.x? 
> Many thanks.
>
> Please find my environment for your reference
> OS: Ubuntu Server 20.04.6 LTS
> Tomcat: 9.0.78/10.1.9/10.1.11
> JVM: 17.0.7 (17.0.7.+7-Ubuntu-0ubuntu120.04), this is a package provided by 
> Ubuntu

It looks like this is a problem with any use of the
CombinedRealmCredentialHander: that class isn't effectively Serializable
because the class is private.

Can you post the full stack trace?

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Thanks for your response, please find the full stack trace found in the log of 
10.1.11 as follow: (the ones for 9.0.78 and 10.1.9 are basically the same so I 
don't post them here)

25-Jul-2023 02:47:10.537 SEVERE [http-nio-8080-exec-5] 
org.apache.catalina.storeconfig.StoreConfig.store Error storing server
      java.lang.NoSuchMethodException: 
org.apache.catalina.realm.CombinedRealm$CombinedRealmCredentialHandler.<init>()
            at java.base/java.lang.Class.getConstructor0(Class.java:3585)
            at java.base/java.lang.Class.getConstructor(Class.java:2271)
            at 
org.apache.catalina.storeconfig.StoreAppender.defaultInstance(StoreAppender.java:334)
            at 
org.apache.catalina.storeconfig.StoreAppender.printAttributes(StoreAppender.java:233)
            at 
org.apache.catalina.storeconfig.StoreAppender.printAttributes(StoreAppender.java:195)
            at 
org.apache.catalina.storeconfig.StoreAppender.printOpenTag(StoreAppender.java:74)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:127)
            at 
org.apache.catalina.storeconfig.CredentialHandlerSF.store(CredentialHandlerSF.java:58)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
            at 
org.apache.catalina.storeconfig.RealmSF.storeChildren(RealmSF.java:89)
            at org.apache.catalina.storeconfig.RealmSF.store(RealmSF.java:49)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
            at 
org.apache.catalina.storeconfig.StandardEngineSF.storeChildren(StandardEngineSF.java:66)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
            at 
org.apache.catalina.storeconfig.StandardServiceSF.storeChildren(StandardServiceSF.java:63)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.storeElementArray(StoreFactoryBase.java:192)
            at 
org.apache.catalina.storeconfig.StandardServerSF.storeChildren(StandardServerSF.java:97)
            at 
org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
            at 
org.apache.catalina.storeconfig.StandardServerSF.store(StandardServerSF.java:51)
            at 
org.apache.catalina.storeconfig.StoreConfig.store(StoreConfig.java:317)
            at 
org.apache.catalina.storeconfig.StoreConfig.store(StoreConfig.java:229)
            at 
org.apache.catalina.storeconfig.StoreConfig.storeConfig(StoreConfig.java:106)
            at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
            at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:568)
            at 
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:294)
            at 
java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:814)
            at 
java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
            at 
org.apache.catalina.manager.host.HostManagerServlet.persist(HostManagerServlet.java:672)
            at 
org.apache.catalina.manager.host.HTMLHostManagerServlet.persist(HTMLHostManagerServlet.java:241)
            at 
org.apache.catalina.manager.host.HTMLHostManagerServlet.doPost(HTMLHostManagerServlet.java:146)
            at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
            at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
            at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
            at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
            at 
org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:190)
            at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
            at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
            at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
            at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
            at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
            at 
org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129)
            at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
            at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
            at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
            at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
            at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:597)
            at 
org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:355)
            at 
org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:54)
            at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
            at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
            at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:676)
            at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
            at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
            at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)
            at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
            at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894)
            at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740)
            at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
            at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
            at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
            at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.base/java.lang.Thread.run(Thread.java:833)

Many thanks
Mason

Reply via email to