Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Created by Guest
Created on Mar 13, 2023

Option to allow ARM registration at start of the JVM using JZOS Batch Launcher

The JZOS Batch Launcher has currently no automatic restart capability when JVM crashes, such a feature that could be very helpful for critical online application or web server like Tomcat. 
This could be implemented by adding an option that automatically triggers the register function to ARM system facilities during JVM startup from JZOS Batch Launcher, and deregister at normal shutdown. This would allow standard z/OS automatic restart facilities if something wrong happens, like JVM crash or any other bad condition that could lead to an abend.  

Idea priority Medium
  • Guest
    Reply
    |
    Jun 2, 2023

    The JZOS Batch Launcher is the preferred way to run Java applications on z/OS, especially for online monitors or web applications running as started tasks.

    Such applications can potentially fail for various reasons, can be JVM crashes or any application problems that lead to the started task to stop unpredictably. In this case there is currently no option to manage an automatic restart, except using specific automation products.

    The z/OS system features an Automatic Restart Manager (ARM) at no additional charge, with a lot of powerful options like restart capabilities over a Sysplex. More than enough for most cases.

    But currently there is no option in Java JVM to register to the ARM services. It is up to the application to manage registration to ARM services. Such option may look like a set of parameters to add in env variables at start of the JVM. At least one option would be required to enable registration to ARM (Yes or default No), and optional parameters could be set to specify the element name, element type, term type, or others useful parameters available on the IXCARM macro. Then, the JZOS launcher would register to ARM at start of the JVM, and unregister after successful shutdown.

    If the JVM fails with Abend, then ARM can restart automatically the application according to the policy in place.
    Also, application problems can be managed the same way by setting up the JZOS env variable "JZOS_ABEND_EXIT", in order to force an Abend when RC is greater than this parameter's value.

    Currently I've simulated a similar process using a home made ARM wrapper. This idea comes from redbook https://www.redbooks.ibm.com/redbooks/pdfs/sg242079.pdf documenting an ARM wrapper for application that doesn't provide builtin support for ARM services. These information are pretty old and I've been unable to find the mentioned program. But writing such a tool is not a big deal, IXCARM macro implementation is pretty straight forward so I wrote one and have added it to a JZOS STC running a Tomcat instance. The first step registers to ARM, second step is the JZOS batch launcher to run Tomcat, and the last step requests deregister from ARM if Tomcat ended normally. If the Tomcat step fails, ARM policy restarts it automatically, and the register step manages the ARM clean-up. This setup has been very helpful at our site because of a Semeru 11 bug that caused random JVM crashes with release before 11.0.19.

  • Guest
    Reply
    |
    Apr 28, 2023
    To the original requestor of this RFE: please provide a scenario in which they want to use this suggested enhancement.