> From: Jules Gosnell [mailto:[EMAIL PROTECTED] > Sent: Monday, October 06, 2003 8:54 AM > > One of the things that we omitted, then had to hack in, in a certain > other app server was virtual host support. Virtual hosts are > not (AFAIK) > yet supported by the std dd. Of course, they can be supported in a > proprietary dd (section), however, an number of people wanted e.g. 1 > deploy dir per virtual host. I guess we need some sort of retrievable > deployment content object that holds e.g. parsed dds, who did the > deploying and other stuff, that the webcontainer may > OPTIONALLY dip into > in order to enrich it's understanding of what is going on. However > deployment should be able to go ahead without access to this context? >
You know, thinking about it there is nothing in the standard DD information about binding anything to the outside world. For a WAR file, there is nothing that defines the context or vhost, for an EJB file there is nothing that defines the EJBs JNDI name or vhost. An EAR file defines the context for a web app, but says nothing for EJBs or vhosts. This got me thinking we can have a common mechanism for specifying a root context for binding things too, with lower level overrides. For example, in the geronimo-application.xml file we could have something like <application> <ger:vhost>mydomain.com</ger:vhost> <ger:jndi-root>ldap://dirserver/myapp</ger:jndi-root> <module> <web> <web-uri>app1.war<web-uri> <context-root>/app1</context-root> </web> </module> <module> <ejb>ejb1.jar</ejb> </module> </application> This would result in app1 being bound to all listeners for the host mydomain.com and the JNDI names for EJBs in ejb1.jar being bound to myapp context of the LDAP server on dirserver. Or at, least that's the general idea, a lot more detail is needed. This sounds like information that would be passed in a DeploymentContext instance associated with the unit being deployed. Then the EARDeployer would read its geronimo DD and populate a WARDeploymentContext which would be passed to the WARDeployer; the WARDeployer works out the actual connector to use based on the information passed in from outside plus what it finds in its DD. The DeploymentContext is the bridge and there is no need for the EAR and WAR deployers to understand each other's DD POJOs. -- Jeremy
