|
Problem(Abstract) |
Creating a JMX administrative client to install and start
an application. Using the AppManagementProxy.installapplication method to
install the application. Gets notified that the application is installed
but when using AppManagement.startApplication to start the application it
fails.
-
The error seen is: WSVR0215W: Starting application, my_app, failed. The
application is
not installed. |
|
|
|
Cause |
The application installed event is being sent before the
application is ready to be started. The application binaries are not
expanded on each node. The method getDistributionStatus() needs to be used
to determine if the application is ready to be started. |
|
|
Resolving the
problem |
The notification received for getDistributionStatus()
doesn't mean that application binaries are expanded on the node and ready
to start. In the notification properties, a Vector will be returned
indicating the distribution state of application binaries in each node.
The distribution state from the properties needs to be parsed and then
used to decide on the next action.
Distribution state will be either "true" or "false" or "unknown". If
distribution state is "true", application binaries are expanded on Node,
if "false", not yet expanded, if "unknown", not able to identify, this
will happen when the NodeAgent is not running. After receiving the "true"
state startApplication() can be invoked.
A sample administrative client java program is attached. It can be used as
an example.
For wsadmin scripts the $AdminApp isappready command can be used instead.
It is documented in the Information Center, AdminApp
object for scripted administration.
|
|
|
|