× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



We've got this weird situation on a customer box.

We have a Tomcat server. And we have an ILE CL program to shut it down (in this case, for an automated restart).

The program first attempts to do an orderly shutdown of the Tomcat server, by submitting a batch job (to QINTER) that QShell's the SHUTDOWN.SH script.

It then repeatedly calls an ILE RPG procedure (once per second) to check (using QUSLJOB) whether the CATALINA job is still there (if it is, it returns the fully qualified jobname; if not, it returns blank). If a full minute has passed without the CATALINA job disappearing, it then does an ENDJOB on the fully-qualifed jobname, with OPTION(*IMMED).

This works everywhere else. But on this one customer box, it occasionally fails: the Tomcat server gets as far as closing the port, but it doesn't end normally, and *IT DOESN'T GET ABENDED BY THE ENDJOB*

At this point, when the restart program restarts Tomcat, there are two CATALINA jobs, and two underlying QP0ZSPWT jobs, but since the older one got as far as closing the HTTPS port, the newer one is able to open it without a problem. But then, the very next automated restart, the shutdown finally shuts down the "zombie" Tomcat server, leaving the port tied up by the live one, so that the restart won't work.

I know of a couple ways to do an end-run around the problem, but I'd still like to know what could be making it fail.

--
JHHL

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.