geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Mulder <>
Subject Re: GBeans: Saving Changes
Date Wed, 27 Jul 2005 00:33:28 GMT
Let me try to propose some alternatives for us to consider.  Assume you
want to make a change to the server configuration, and for whatever
reason, NOT bundle that with your application.  This change involves 
adding or removing a GBean, which is naturally related to the content of 
the o/a/g/Server configuration.  You want to make this change at runtime 
via the web console.

Do we all agree that this is a use case we wish to support?  If not, I 
think we should gather some input on that instead.  But assuming we're in 
agreement there:

Option 1: alter the o/a/g/Server plan in place.  Apps that declare that 
configuration as a parent will work unchanged, unless the nature of the 
change breaks them (you swapped Jetty for Tomcat and the apps assume that 
a particular Tomcat Valve is deployed but it's not).  If an app is 
deployed on this server, it might not work if sent to a different server 
(depending on how that server defines "o/a/g/Server").

Option 2: save a new configuration as o/a/g/Server-UUID, and disable the
old o/a/g/Server configuration.  All apps which declared Server as a
parent will refuse to run until their deployment plan is updated.  All
apps must incude the correct UUID to function.  The UUID must be globally 
unique, so a different server didn't have a different change applied and 
arrive at the same UUID.

Option 3: disable the relevant GBeans in o/a/g/Server, and create a new
configuration o/a/g/Genered-By-Console-UUID with any previous
o/a/g/Generated-By-Console-[PreviousUUID] as the parent (or the original
o/a/g/Server if this is the first change).  All apps which declared Server
as a parent may or may not work and may or may not need to be changed to
refer to a different parent, depending on the nature of the change.  If
they do need to reflect the change, their dependency must include the
correct UUID to function.

Option 4: Require that "Server" include some number of disabled GBean
"blanks" for every GBean you might want to add.  If you want to add 
something, you instead activate a blank,  If you want to remove something, 
you disable it.  If an app is deployed on this server, it might not work 
if sent to a different server (depending on which GBeans are or are not 
enabled in the "Server" configuration on each, and whether the app relies 
on them).

If you have any other alternatives to propose, please do so.


View raw message