On Jan 30, 2006, at 8:54 AM, Paul McMahan wrote: One approach that seems user friendly to me would be to allow the user to pass an argument to Geronimo startup specifying a "server root" directory. The immediate subdirectories of this server root directory would trump those in geronimo_home for that server instance. Using this technique would allow the user to make any combination of geronimo's customizable parts shared across all server instances or tailored to a specific server instance.
I'm not sure I like that, because IIUC it would mean that the main repository gbean for instance would be looking at different repos depending on both a command line switch and whether a particular directory existed. At the moment I think that is too indeterminate. I would prefer to have each repo gbean point to a single well defined location and to add more repositories for customization.
You might be able to argue me out of this position.
thanks david jencks Best wishes, Paul
On 1/30/06, David Jencks <[EMAIL PROTECTED] > wrote: Many people have talked on and off about how to set up multiple servers sharing the same repository and config-store, but we haven't arrived at an agreed on way to do it. We have a prospective customer for this feature (Vincent Massol with Cargo) so I'd like to move beyond thinking about it in my head, discuss it, and have someone implement it. I believe any implementation will be more or less trivial, the hard part is figuring out what to do.
I've only thought of ways to extend what we have now, rather than restructure anything or add big new capabilities. If someone sees a better way, please speak up.
So, we have a ServerInfo gbean that knows where geronimo is located and can resolve absolute locations for other components. Then we have things like the repository and config store gbeans that typically are "located" outside the var dir and things like the logging framework, local attribute manager, derby, and tomcat, that typically keep stuff in the var directory.
All or most of these start with the first configuration loaded so they can't have any attributes overridden by config.xml: in fact this file is read by one of the gbeans that we need to "relocate".
I've thought of two related solutions. Both of them involve giving ServerInfo knowledge of another path and another resolve method.
One would be something like "resolveVar" and would normally resolve to geronimo_home/var. This would involve all the gbeans currently looking inside var having the "var" trimmed off the front of their paths and using the new resolveVar method. In this case we'd have different servers represented as e.g. var1 var2 var3 ...
The other would give ServerInfo something like resolveServer which would normally resolve to geronimo_home. The gbeans looking inside var would keep their current paths and just call the new resolve method instead of the old one. In this case we'd have servers like var server1/var server2/var ...
In either case I think starting geronimo with a command line argument pointing to the var directory is the only way to specify which server you want to run; the default would presumably be as now "var".
Several people have suggested putting an additional config-store into var for "private" use by a particular server. At the moment I think that providing a different config-store class that uses the new resolve method on server info would be the best way to do this.
I'm not attached to these ideas but this is as far as my thinking has gone. Please comment.
thanks david jencks
|
- Re: Multiple servers sharing the same repo and config store David Jencks
-