On 10/17/25 4:44 PM, Christopher Schultz wrote:
Right: I'm trying to find out exactly which file you changed. I know
nothing about jmxterm, but I very much doubt it persists anything to a
file. If you use jmxterm to change the RemoteAddrValve's IP address
range, you will change the configuration in memory but not on the disk.
Restarting the Manager at this point will lose this configuration and go
back to the on-disk settings.
Dear Christopher:
I was beginning to wonder if I was being too much of a pest, and being
ignored.
Let me get this straight: you can change the RemoteAddrValve's IP
address range "live" through JMX?!? That may be exactly what I'm looking
for! What bean do I connect to, and what operation do I call?
And for that matter, so far, the only way I know of to connect to the
Tomcat server's JVM job is to find its PID. Which of course is only good
for the life of the JVM job. Is there another way to open a JMX
connection to a running Tomcat server? As I understand the JMXTerm
helptext, the "open" command can take a PID, a hostname and port, or a
JMX service URL.
I'm not changing *anything* in the running JVM job from JMXTerm, other
than the run state of individual webapp contexts (that's all I've
managed to figure out *how* to do, so far); I am changing the manager
application's RemoteAddrValve addresses *on disk,* using a native text
editor.
By way of explanation:
JMXTerm is a simple terminal based front-end for JMX.
On an IBM Midrange system, you have a native terminal session
(originally, a physical 5250-data-stream terminal connected through
Twinax; more commonly today, a 5250-data-stream emulator, connected
through the TN5250 protocol, on either an unsecured Telnet port (23 is
standard, like any other form of unsecured Telnet), or a secured Telnet
port (typically 992). 5250 data stream is an EBCDIC-based, block-mode
protocol, similar to the 3270 data stream that was the native terminal
protocol for IBM mainframes, and over the decades, it evolved from
supporting only 80x24 monochrome with highlight, underscore, reverse,
and blink attributes, to eventually support seven colors and a mouse. If
development continued, it would probably have ended up with most of the
capabilities of XTerm.
Ever since Java was first implemented on IBM Midrange Systems, there has
been an application called QShell, that emulates a Linux-type
environment on a non-block-mode terminal (or it can run headless). When
launching a Tomcat server on an IBM Midrange box, we typically submit a
batch job, named CATALINA, in which bin/startup.sh is passed to a
headless QShell. And to make things just a little more confusing, the
JVM doesn't run in the CATALINA job; it runs in a job called QP0ZSPWT
(not my choice!), which is linked to the CATALINA job (and lives and
dies with it).
QShell can run other things. If I want to expand the ZIP file for a new
Tomcat version, I open an interactive QShell session, and use the jar
utility to unzip it. And JMXTerm can run in QShell.
I think it *may* be possible to run JMXTerm scripted and headless, and
it's certainly possible to run a scripted/headless QShell. Although that
would be pretty much pointless if the only way I can open a connection
to the JVM is by its PID.
--
JHHL
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]