Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 62689 invoked from network); 15 Jun 2007 00:18:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 15 Jun 2007 00:18:29 -0000 Received: (qmail 9024 invoked by uid 500); 15 Jun 2007 00:18:30 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 8975 invoked by uid 500); 15 Jun 2007 00:18:30 -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 8961 invoked by uid 99); 15 Jun 2007 00:18:30 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Jun 2007 17:18:30 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS X-Spam-Check-By: apache.org Received-SPF: neutral (herse.apache.org: local policy) Received: from [209.181.65.237] (HELO sun.savoirtech.com) (209.181.65.237) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 14 Jun 2007 17:18:25 -0700 Received: from MacPro.local ([206.197.197.22]) (authenticated bits=0) by sun.savoirtech.com (8.13.8/8.13.8) with ESMTP id l5F0I2We029714 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 14 Jun 2007 18:18:02 -0600 Message-ID: <4671DABA.3080507@apache.org> Date: Thu, 14 Jun 2007 18:18:02 -0600 From: Jeff Genender Reply-To: jgenender@apache.org Organization: Apache Geronimo User-Agent: Thunderbird 2.0.0.0 (Macintosh/20070326) MIME-Version: 1.0 To: dev@geronimo.apache.org Subject: Re: Terracotta Clustering plugin... References: <10919249.post@talk.nabble.com> <466082BE.9040208@apache.org> <10920190.post@talk.nabble.com> <11130919.post@talk.nabble.com> In-Reply-To: <11130919.post@talk.nabble.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on sun.savoirtech.com X-Virus-Scanned: ClamAV 0.88.7/3420/Thu Jun 14 16:16:42 2007 on sun.savoirtech.com X-Virus-Status: Clean X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-104.1 required=5.6 tests=ALL_TRUSTED,AWL,BAYES_00, USER_IN_WHITELIST autolearn=failed version=3.1.8 Orion, That sounds like a good plan... So here is what I have been also thinking about... First for your own info... Here is a decent tutorial for a geronimo plugin: http://www.ibm.com/developerworks/edu/os-dw-os-ag-plugins.html and here is a chapter from my book... http://tinyurl.com/yrrydd The Liferay plugin does some cool one-time only setup (install database for Liferay)...all of their stuff can be found here: http://geronimo.liferay.com/plugins/ These should give you a good basis for how plugins work. So... I think we will probably need 2 plugins...one for the client (the Tomcat/Jetty side) and one for the server...i.e. I think it would be good to let Geronimo control the start/stop/lifecycle of the Terracotta server. However in the beginning, we can keep it simple and concentrate on the client. But in a nutshell...we are going to need the following for the client plugin... 1) The Terracotta artifacts (jars) will need to be accessible via some form of maven repo, which can be placed into the plugin itself. This allows Geronimo to go out and install 'em automagically in the local jar dumping ground for G. The maven repo can be on the Terracotta servers, or other, but minimally maven based artifacts will be a requirement (and I know you guys have been working that really hard) ;-) 2) Think about how to handle the configuration. i.e. do I need a portlet to allow me to pick and choose which web apps I will be clustering, or as a start just allow it to set up the Terracotta environment and we can alter the configuration by hand form there. Maybe lets keep it simple on the first pass and just push the directory infrastructure. (See #3 below) 3) The plugin will require the Terracotta file infrastructure go under our $GERONIMO_HOME/var directory - perhaps $GERONIMO_HOME/var/terracotta. So the way we have handled this before is to place this infrastructure in the META-INF of a jar and have some magic code extract it out to the var directory. I think there are several ways to skin this cat...and I would like input from others. 4) The plugin will need to alter the starup.sh/bat scripts in the $GERONIMO_HOME to enable the boot classpath that needs to be set. Perhaps we can do this through an environment variable that can be picked up externally...something we should definitely talk about. I believe this will be a good first pass at getting the session managers running with Terracotta from a plugin perspective. Beyond this we can start thinking about the server plugin and a configuration portlet. I am looking for any and all input on this. Lets let discussion begin ;-) Jeff Orion Letizi wrote: > So, I think an HTTP session clustering plugin would be the most likely first > step. > > As I see it, we need the plugin to: > > * grab the terracotta bits. I'm not exactly sure how this will get done, > since the Terracotta bits aren't currently packaged up for automated > download (although, it looks like we'll be adding that soon) > > * configure Geronimo to use Terracotta HTTP session clustering. Currently, > this is done by adding java vm parameters... not sure how that will work > with the hot-install plugin feature of Geronimo. > > * maybe provide some mechanism for configuring terracotta for your > application and/or starting the terracotta server (although, this seems like > a nice to have that could be worked out later). > > Does this sound reasonable? > > I rummaged around for a little while to see if I could find docs on how to > build a plugin (other than using the neat plugin generator feature in the > Geronimo console), but didn't really find anything immediately. Can someone > give me a place to start looking? > > The EJB-clustering prototype stuff that Jeff Genender and Tim Eck worked on > seems like something we could work on in parallel, but the horizon for that > might be a little farther out. > > > Matt Hogstrom wrote: >> Crawling is good before running. Sounds excellent. >> >> >> On Jun 1, 2007, at 4:42 PM, sharrissf wrote: >> >>> First cut will almost certainly be for session clustering. We have >>> a whole >>> list of other stuff >>> that we want to do but we want to get our feet wet first. >>> >>> >>> jgenender wrote: >>>> I think there would be HUGE interest in this.... >>>> >>>> We probably should come up with what needs to be done to do this. >>>> >>>> Are you looking to start with the web tier and get a plugin working? >>>> >>>> Jeff >>>> >>>> sharrissf wrote: >>>>> Hello, >>>>> >>>>> for those who aren't familiar with Terracotta it is a java >>>>> clustering >>>>> product that we integrated with Geronimo some time ago. What we >>>>> would >>>>> like >>>>> to do now is create a plugin to enable quick installation and >>>>> configuration. >>>>> I was curious what kind of interest existed out there for such a >>>>> plugin. >>>>> >>>>> Cheers, >>>>> Steve >>>>> www.terracotta.org >>>> >>> -- >>> View this message in context: http://www.nabble.com/Terracotta- >>> Clustering-plugin...-tf3854120s134.html#a10920190 >>> Sent from the Apache Geronimo - Dev mailing list archive at >>> Nabble.com. >>> >>> >> >> >