tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daryl Stultz <daryl.stu...@opentempo.com>
Subject Manager app text mode refuses to deploy
Date Thu, 05 Apr 2018 21:07:45 GMT
Hello,


We are upgrading from Tomcat 6 to tomcat8-8.5.23. We deploy our apps by preparing the fully
exploded and configured directory in place under .../webapps/. autoDeploy of apps is false.
We never use war files.


After the app is staged we use the manager app to deploy it. This involves an HTTP GET call
to http://localhost:8080/manager/text/deploy?path=/my-app


This is the way we have done it for years on Tomcat 6. We've been attempting for hours to
find some combination that yields something other than:


AIL - Invalid parameters supplied for command [/deploy]


Finally we got this pattern to work: stage the application under /tmp/my-app rather than .../webapps/.
Then deploy it like this:


http://localhost:8080/manager/text/deploy?war=file:/tmp/my-app/&path=/my-app


The critical point is that the war path, when it refers to a directory rather than a war file
must end in a trailing slash. This is not in the documentation here: https://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html#Deploy_a_Directory_or_WAR_by_URL


Now when we go to undeploy it like so:


http://localhost:8080/manager/text/undeploy?path=/my-app


Tomcat crashes and exits with this:


AIL - Encountered exception [javax.management.InstanceNotFoundException: Catalina:type=Deployer,host=localhost]


Rather than spend more hours on this I'm hoping someone can tell me the right technique for
undeploying. Thanks.


Here's the traceback:


05-Apr-2018 16:49:24.442 INFO [http-nio-8080-exec-1] org.apache.catalina.core.ApplicationContext.log
Manager: undeploy:Undeploying web application at '/das-qa-java8' 05-Apr-2018 16:49:24.847
SEVERE [http-nio-8080-exec-1] org.apache.catalina.core.ApplicationContext.log Manager: ManagerServlet.undeploy[/das-qa-java8]
javax.management.InstanceNotFoundException: Catalina:type=Deployer,host=localhost at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:816)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.manager.ManagerServlet.removeServiced(ManagerServlet.java:1530)
at org.apache.catalina.manager.ManagerServlet.undeploy(ManagerServlet.java:1440) at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:595)
at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:348) at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:52)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) at
org.apache.tomcat.util.net.SocketProcessorBase.run<http://org.apache.tomcat.util.net.socketprocessorbase.run/>(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run<http://worker.run/>(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run<http://wrappingrunnable.run/>(TaskThread.java:61)
at java.lang.Thread.run<http://java.lang.thread.run/>(Thread.java:748)

Apache Tomcat 8 (8.5.29) - Manager App HOW-TO<https://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html#Deploy_a_Directory_or_WAR_by_URL>
tomcat.apache.org
If you have Tomcat configured to support multiple virtual hosts (websites) you would need
to configure a Manager for each. There are three ways to use the Manager web application.





--

Daryl Stultz
Principal Software Developer
_____________________________________
OpenTempo, Inc
http://www.opentempo.com<http://www.opentempo.com/>
mailto:daryl.stultz@opentempo.com<mailto:daryl.stultz@opentempo.com>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message