This topic describes how to develop and build a Java Management Extensions (JMX) client program
that is compliant with JMX Remote application programming interface
(JSR 160). After you have a working JMX client program, you can use
it to manage WebSphere® Application Server or
non-WebSphere Application Server systems.
Before you begin
This task assumes a basic familiarity with JSR 160 and
JMX application programming interface (API) programming. For information
on JSR 160, see http://www.jcp.org/en/jsr/detail?id=160. For information on the Java APIs,
view the application programming interfaces documentation.
About this task
When you develop and run JMX clients that use various
JMX connectors and that have security enabled, use the following guidelines.
When you follow these guidelines, you guarantee the behavior among
different implementations of JMX connectors. Any programming model
that strays from these guidelines is unsupported.
- Create and use a single JMX client before you create and use another
JMX client.
- Create and use a JMX client on the same thread.
- Use one of the following ways to specify a user ID and password
to create a new JMX client:
- Specify a default user ID and password in the property file.
- Specify a user ID and password other than the default. After you
create a JMX client with a nondefault user ID and password, specify
the nondefault user ID and password when you create subsequent JMX
clients.
Procedure
- Develop
a JMX client program.
- Build and run the JMX client program.
The steps that are required to build and run your program
depend on the kind of application environment that your code runs.
Refer to the Using application clients topic for
details on how to build and run your JMX client program.
- Build the JMX remote client
program.
Compile the program with the javac command
and provide the location of the ibm.admin.thinclient.jar file
in the classpath argument.
For example, if your
ibm.admin.thinclient.jar file
is in the
/opt/resources/ibm.admin.thinclient.jar path,
and you want to compile the
JMXRemoteClientApp.java file
in the current directory, use the following settings and commands:
CLASSPATH=/opt/resources/ibm.ws.admin.thinclient.jar:${CLASSPATH}
export CLASSPATH
${JAVA_HOME}/bin/javac JMXRemoteClientApp.java
- Run the JMX client program.
Run the JMX client program by setting up the runtime environment
so that the program can find all of the prerequisites. Many of the
batch or script files in the bin directory under
the installation root perform a similar function. The following example
is a batch file that runs the JMXRemoteClientApp JMX client program:
#!/bin/sh
CONNECTORPROPS=-Dcom.ibm.CORBA.configURL=<location of sas.client.props>
JAVA_HOME=<location of Java>
TAC_CLASSPATH=<location of ibm.admin.thinclient.jar>
"${JAVA_HOME}/bin/java" \
-Djava.ext.dirs="${JAVA_HOME}/jre/lib/ext” \
-classpath "${TAC_CLASSPATH}” ${CONNECTORPROPS} JMXRemoteClientApp $@
(The contents of the previous batch file are split on multiple
lines for publication.)
Results
You have developed, built, and run a JMX client program
that is JSR 160 compliant.