Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
None
Description
WSDeploymentActivator has code like this for registering deployment unit processors:
static void activate(final BootOperationContext updateContext) { int priority = Phase.INSTALL_WAR_METADATA + 10; ... updateContext.addDeploymentProcessor(Phase.INSTALL, priority++, new WSTypeDeploymentProcessor()); updateContext.addDeploymentProcessor(Phase.INSTALL, priority++, new WSModelDeploymentProcessor()); ... addDeploymentProcessors(updateContext, priority); }
Notice that the Phase priorities have been localized to this WS code. Localizing the Phase priority to the WS code can lead to issues where some other subsystem or even WS might end up adding a duplicate Phase priority in org.jboss.as.server.deployment.Phase. The org.jboss.as.server.deployment.Phase is supposed to act as a central location where the phase priorities are listed so that such situations can be avoided.
Moving the phase priorities out of WSDeploymentActivator (and other such classes, if there are any more) is recommended.