geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremy Boynes" <jer...@coredevelopers.net>
Subject RE: [webapp deployment] Progress (was Re: [Deployment] Application Deployment Status)
Date Mon, 06 Oct 2003 13:01:47 GMT
> From: Jules Gosnell [mailto:jules@coredevelopers.net] 
> 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


Mime
View raw message