[ http://issues.apache.org/jira/browse/GERONIMO-1470?page=comments#action_12362730 ]
Karl Avedal commented on GERONIMO-1470: --------------------------------------- I was the one pointing this out on IRC, and I'd like to clarify my thoughts a little. The JavaEE specification lays out a set of platform roles in section J2EE.2.10. One of those roles is the Application Assemler (J2EE.2.10.3). His responsibility is to take a set of components and assemble these into an application (.ear). That ear might contain web-applications and the assembler can in application.xml provide instructions for the Deployer (J2EE.2.10.4) regarding what context-root this web-app would normally be deployed at. When he has created an application this will be shipped to different customers. These customer have different operating environments that they want to deploy this application in. Now the Deployer takes over and installs and configures the application. "The Deployer's output is web applications, enterprise beans, applets, and application clients that have been customized for the target operational environment and are deployed in a specific J2EE container. " (J2EE.2.10.4). One of the customizations that the deployer might want to make is to change as which context-root some web-application is deployed. Obviously it might happen that different customers will have their web-sites organized in different manners, so they must be able to change this. In the current Geronimo version (and for example jboss, but not in for example Orion), if you deploy a whole .ear, and there's a context-root specified in the application.xml, there is currently no way for the Deployer to change the context roots for web-applications in an .ear, without editing the application.xml. This is problematic and it violates the role separation between assembler and deployer since the deployer would be messing with the assembler's output. One consequence of this would be that whenever the assembler ships a new version of the .ear to his customers, the deployer would once again have to alter the context-root setting in application.xml, which is pretty annoying, since a version upgrade without any changed external dependencies should be as simple as dropping in the new ear. I'm not saying that the best solution would be to simply let the web plan setting take precedence over application.xml. I would rather make it possible to override the application.xml setting in the application deployment plan (geronimo-application.xml), since that would be more symmetric. PS. The solution I think is the nicest (but I'm partial, since I used to work on that app-server), is how Orion solves this. It has a separate definition of a web-site and in the config of the web-site you map context paths to different web-applications. This fits very well with the JavaEE role system. > Our context root settings should take precedence over those from > application.xml > -------------------------------------------------------------------------------- > > Key: GERONIMO-1470 > URL: http://issues.apache.org/jira/browse/GERONIMO-1470 > Project: Geronimo > Type: Improvement > Components: deployment > Versions: 1.1 > Reporter: David Jencks > Assignee: David Jencks > Fix For: 1.1 > > Someone on IRC pointed out that the context-root setting in application.xml > is an assembly-time setting and should be overridden by the deploy-time > setting in our web plans. At the moment the application.xml setting > overrides the web plan setting. This is a trivial change, but I want to make > sure there are no objections to it. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
