geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Boynes <jboy...@gluecode.com>
Subject Re: Deployment heirarchies
Date Sun, 12 Sep 2004 04:50:33 GMT
Aaron Mulder wrote:

> On Sat, 11 Sep 2004, Dain Sundstrom wrote:
> 
>>What the heck is a DAG?
> 
> 
> 	Directed acyclic graph, or something like that.  I think I've been
> wondering something similar.  If you have 3 apps that are unrelated (don't
> depend on each other or anything else really), can you start the server in 
> such a way that all 3 are started?  Like just passing multiple 
> configuration names on the command line or something?
> 

By default, the server restarts all configurations that were running 
when it was last shut down. This can be overridden by specifying a list 
of configurations on the command line - this starts the specified 
configurations (plus their parents).

Because configurations map to classloaders, each one can only have one 
parent. It is a tree rather than a DAG.

For example, suppose you have a tree like

org/apache/geronimo/System
   |
   -- org/apache/geronimo/Server
      |
      -- org/apache/geronimo/DebugConsole
      |
      -- org/apache/geronimo/Secure
      |
      -- com/example/Config1
      |  |
      |  -- com/example/app1A
      |  |
      |  -- com/example/app1B
      |
      -- com/example/Config2
         |
         -- com/example/app2A

On build, we configure the server to start "Server" (abbreviated) so the 
first time you boot both it and "System" will be started.

Suppose you then distribute all the other configs to it and start them. 
If you then stop and restart the server all 9 configs will start.

If you then stop and start the server with "app1A" and "app2A" on the 
command line then "System" "Server" "Config1" "app1A" "Config2" and 
"app2A" will be started.

In that scenario, if there is something in "app2A" that depends on 
"Secure" then although the config will start the GBeans that depend on 
"Secure" will hold in the "STARTING" JSR77 state until "Secure" (and the 
referenced GBeans it contains) also start.

The reason we don't try to support DAGs is that in the tree above it 
would be possible for the server to contain multiple configurations 
which have overlapping GBean object names. Although we may be able to 
solve that, I don't think a sys admin would be able to predict what will 
happen when they specify names on the command line - we chose to keep it 
simple.

--
Jeremy


Mime
View raw message