dev@glassfish.java.net

Undeterministic ordering of Deployers load metadata causes issues.

From: Bhakti Mehta <Bhakti.Mehta_at_Sun.COM>
Date: Wed, 29 Apr 2009 15:35:26 -0700

Hi,
I see this error if ApplicationLifeCycle calls WebservicesDeployer's
loadMetaData before WebDeployers loadMetaData
in that case WebBundleDescriptor's getContextRoot (line 227) returns ""
This causes an error in our address computation where the webservice is
deployed

This is sometimes harder to reproduce. But I have found this works most
of the times
deploy WS3.war it may show (I use autodeploy) in server log
Webservice Endpoint deployed
 Hello listening at address at http://localhost:8080/WS3/HelloService
at first attempt

Now undeploy WS3.war (asadmin undeploy WS3)

Now redeploy (again autodeploy)
Set breakpoint at WebBundleDescriptor.getContextRoot line 227 the
contextRoot is ""

Also then you will see if the WebServiceDeployer came before WebDeployer
the server log
shows
Webservice Endpoint deployed
 Hello listening at address at http://localhost:8080//HelloService
(notice no WS3?)

Attaching the stacktrace if needed. Please let me know if you need more
information.
Regards,
Bhakti





Picture_1.png
(image/png attachment: Picture_1.png)