Browse Prior Art Database

Recursively calling an application to determine its supported parameters

IP.com Disclosure Number: IPCOM000199594D
Publication Date: 2010-Sep-10
Document File: 1 page(s) / 36K

Publishing Venue

The IP.com Prior Art Database

Abstract

Identifying parameters supported by a Java Virtual Machine launcher program

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 60% of the total text.

Page 1 of 1

Recursively calling an application to determine its supported parameters

A Java application relies on the "

                        " launcher to start a Java Virtual Machine (JVM) that will execute the application classes. The "

java

                                    " launcher has a number of parameters that can be passed to it; these have evolved of the years with parameters being added,

while others are deprecated and dropped

                                           . The launcher parameters are an indicator of functionality provided by the JVM. i.e. some parameters are only supported by JVMs from certain vendors. Once an application is executing, determining the capabilities of the underlying JVM can be quite hard; using System.properties may not always expose the functionality available, an example being if a parameter was added/deprecated mid-release, then a "version" check may pass (since the version would be the same mid-release) but the functionality would have changed.

    Most "launcher" applications will output a help screen to indicate the parameters available to that "launcher". This is usually triggered by passing a "-?", "-h" or "--help" parameter to the application, however this depends on language, implementation etc. By having the "launched" application re-execute the "launcher" application, either in a separate thread or process, and passing the appropriate parameter, the "launched" application can then parse the list of supported parameters from within itself.

    By having an application execute the launcher application and then parse the output...