Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 65068 invoked from network); 26 Jul 2005 22:06:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 26 Jul 2005 22:06:21 -0000 Received: (qmail 66556 invoked by uid 500); 26 Jul 2005 22:06:18 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 66156 invoked by uid 500); 26 Jul 2005 22:06:16 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 66143 invoked by uid 99); 26 Jul 2005 22:06:16 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jul 2005 15:06:16 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [64.14.202.141] (HELO mgd.gluecode.com) (64.14.202.141) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jul 2005 15:06:09 -0700 Received: from [192.168.15.100] (68-171-62-46.vnnyca.adelphia.net [68.171.62.46]) (authenticated bits=0) by mgd.gluecode.com (8.12.10/8.12.10) with ESMTP id j6QM5BCW021364 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 26 Jul 2005 15:05:11 -0700 Mime-Version: 1.0 (Apple Message framework v733) In-Reply-To: References: <42E557AB.2030201@apache.org> <42E59B4E.6070105@apache.org> <0a86052ced8d9c54d70e001c840995d7@gluecode.com> <42E6A162.20400@apache.org> <6a55a4b8c80c32cb2993015b7487eff4@gluecode.com> <7c430098b6c9e4be71e5e5468a9a7e27@yahoo.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <13686850-9683-449E-910A-2EF456D6A4A7@iq80.com> Content-Transfer-Encoding: 7bit From: Dain Sundstrom Subject: Re: GBeans: Saving Changes Date: Tue, 26 Jul 2005 15:06:13 -0700 To: dev@geronimo.apache.org X-Mailer: Apple Mail (2.733) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N BTW this is already has a JIRA entry GERONIMO-400. I added this almost a year ago. -dain On Jul 26, 2005, at 3:05 PM, Aaron Mulder wrote: > David, > I believe we need to be able to make this kind of change to a > running server. The commercial products we're (at least in theory) > competing with all support making this kind of change through their > management console, though for certain types of changes a server > restart > is required. Changing the port you're using to connect to the > console at > runtime would be a little weird, but I'm strongly opposed to requiring > someone to locate, modify, and redeploy the o/a/g/Server plan in > order to > make any change at all. > > Jeremy, > I agree that changing an attribute value does not need to alter > "the configuration" based on what is implemented today. IIUC, when > you > alter a GBean, a new set of config info is written to a separate > file, and > next time the configuration is loaded that file is read and the new > value > kicks in instead of the original value. So you have both the > unaltered > original configuration and the modified "current state", and it just > happens that future server starts will use that "current > state" (though I > suppose we could provide some sort of command to revert a > configuration to > its original state). That would actually be a kind of cool option > in the > console -- "revert to factory default settings". > > Maybe I've been casting this entire discussion in the wrong way. > Both changes to GBean properties and adds/removes of GBeans can be > accomplished by adjusting the "current state" saved *in addition > to* the > original state -- so at the end of the day, we're not really > altering "the > configuration", we're preserving the original configuration and > altering > our "current state for the configuration". Perhaps we're in violent > agreement. :) > > Aaron > > On Tue, 26 Jul 2005, David Jencks wrote: > >> IMO both of these are much better done as part of the offline >> deployment process well before the configuration gets anywhere near a >> running server. Both of these are reasonable things to do, but again >> IMO not on a running server. >> >> I'm not really sure how the current configuration saving works. >> >> thanks >> david jencks >> On Jul 26, 2005, at 2:34 PM, Aaron Mulder wrote: >> >> >>> On Tue, 26 Jul 2005, David Jencks wrote: >>> >>>> there are at least 2 aspects to mutable configurations. >>>> >>>> 1. adding/ removing gbeans. I don't think there is a valid use >>>> case >>>> for this and don't think we should support it, ever. I don't >>>> think we >>>> should allow changing reference patterns either for essentially the >>>> same reasons. >>>> >>> >>> Use case: Server ships with HTTPS or AJP disabled. You want to >>> enable >>> it. >>> You go to the console, fill in a form, click a button, it is now >>> running. >>> Under the covers, a connector GBean has been added to the o/a/g/ >>> Server >>> Configuration. >>> >>> >>>> 2. changing attribute values on pre-existing gbeans. To me this is >>>> less clear. I'm not thrilled with the idea of changing the >>>> content of >>>> a configuration jar: I'd prefer to see local modifications saved >>>> in a >>>> local database outside the supplied configurations. I can see >>>> how you >>>> would want to play with a running server till you like it, then >>>> save >>>> and seal a configuration, but I'm reluctant to allow this >>>> without more >>>> thought and a clear upgrade path to whatever we decide we want >>>> to do >>>> long-term. Still, this seems more reasonable to me than (1). >>>> >>> >>> Use case: server ships with HTTPS pointing to a self-signed >>> cert. You >>> want to point it to a real cert, which requires the server to use a >>> password different than "secret". You go to the console, fill out a >>> form, >>> and the GBean property is changed to use the correct password. >>> >>> As for your implementation thoughts, I thought this is >>> essentially what >>> was implemented -- that saved state was saved to a different >>> place than >>> original state. I do not think we need the scope creep of creating >>> another database just for this. >>> >>> Aaron >>> >>> >> >> >