I want to use the DeploymentServiceMBean to deploy and undeploy service assemblies. The problem is that the deploy() operation returns a status document which doen't include the name of the deployed service assembly which makes it difficult to use any of the other operations including undeploy(). Other than using getDeployedServiceAssemblies() before and after the call to deploy() is there another way of obtaining the name of the service assembly.
The schema for the XML status document that is being returned is defined in the JBI specification. Unfortunately, this schema doesn't provide us with a point where we can put in the SA name. If you are deploying your SA without knowing what the name is up front, the only way you can find is by comparing getDeployedServiceAssemblies() or looking directly at the JMX context.
I'm seeing a problem when using DeploymentService.deploy() and the target JBI component has not yet started then this the deployment fails. SAs put into the hotdeploy directory get around this by waiting until the component has started.
Is this the intended behaviour for the DeploymentService?
One was around this is to parse the SA's jbi.xml and get the target components and call DeploymentService.canDeployToComponent() until the component is ready or fail after a timeout. Any other ideas?