In practice the suffix is required. The deployment unit processors need to
know whether they are interested in the deployment, and in the end that
gets back to some DUP or other checking the suffix. The alternative would
be DUPs speculatively digging into the deployment, checking for deployment
descriptors or annotations and the like and that would be more expensive,
likely buggy (e.g. false positives when some class in the classpath
includes an annotation not relevant to the deployment) and could mess up
some use cases where we want to defer classloading.
On Thu, Jan 4, 2018 at 10:44 PM, Jaikiran Pai <jai.forums2013(a)gmail.com>
wrote:
In context of this[1] forum thread, is runtime-name expected/mandated
to
include even the packaging type suffix (.war, .ear etc) or can it be any
name? For example, for a deployment foo.war, is it valid to have it
deployed with a runtime-name "bar"? Or should it be bar.war?
What's happening in this case is that there are deployment unit
processors which identify the "type"[2] of the deployment based on the
deploymentUnit.getName() and in the absence of the suffix, end up not
recognizing the type of the deployment unit which then cascades into
issues like the one in that thread, where the WEB-INF/classes isn't
added as a resource root to the module of the deployment unit, since it
wasn't considered a WAR type deployment.
[1]
https://developer.jboss.org/thread/276899
[2]
https://github.com/wildfly/wildfly/blob/master/undertow/
src/main/java/org/wildfly/extension/undertow/deployment/
WarDeploymentInitializingProcessor.java#L46
-Jaikiran
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev
--
Brian Stansberry
Manager, Senior Principal Software Engineer
Red Hat