On 09/08/18 01:06, Daniel Savard wrote:

> Louis,
> 
> I believe you need to understand a bit more how things are working with
> Java and the JVM.

Actually Daniel, it is you who needs to understand things better.


Louis,

Clearly, when Tomcat is started a new JVM instance is created and it
listens on the configured JMX ports.

The problem is that when Tomcat is stopped another JVM instance is
created (to send the stop message to the first) and that uses the same
configuration. Hence it tries to open the same JMX port and fails
because it is already bound.

If you were running from the command line, the fix would be easy. Put
the JMX options in CATALINA_OPTS and they'd only be used on start but
not stop. (JAVA_OPTS are used on both start and stop).

There is also a simple fix if running as a Windows Service. The Windows
Service wrapper is simply a renamed version Apache Common Daemon. When
running a Java program as a Windows service there are three ways it can
be integrated.

1. jvm. The Windows service wrapper starts and embedded JVM using the
provided parameters and then calls the start method on the appropriate
class. To stop, it calls the stop method on the appropriate class in the
embedded jvm.

2. Java. The Windows service wrapper starts a separate Java process with
the provided parameters. On stop, a second Java process is started using
the same parameters which is expected to communicate with the first
process and stop it.

3. exe. Same as 2 but any executable can be used rather than java.exe.

You see the error you are see because you are using Java mode. Switch to
jvm mode and all should be well.

Finally 7.0.54 is very old. I strongly recommend an upgrade at least to
the latest 7.0.x release is not 8.5.x/9.0.x

Mark

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

Reply via email to