Hi, I wanted to update folks on where we are at with the Geronimo plugin(s).
We have 3 plugins: 1) terracotta-config 2) terracotta-client 3) terracotta-server terracotta-config - Sets up the configuration files and directory structure for terracotta. This never needs to be directly installed by end users0 since the client and server plugins have a dependency on it and will install it themselves. terracotta-client - Downloads the TC jars and sets up the rc.d files for G, and optionally creates the boot jar depending on whether it exists or not when G is first run. terracotta-server - Installs the TC server GBean and allows one to run the TC server from within G. This plugin is currently shut-off...more on this later in this email. Status ------- I just finished the client and it looks like it works, albeit you need to juggle around libs since the Terracotta maven repository is not up to snuff at this point. The current Geronimo plugin(s) are built to work against Geronimo 2.1 so the dependencies at this time are Geronimo 2.1-SNAPSHOT since we have not released Geronimo 2.1 yet. That release, I believe, will be coming in October/November. At that time, we should think about updating poms, etc and doing an official release for the Terracotta Geronimo plugin. The rc.d files are used with the brand-spanking new gsh (G-Shell) which will hopefully be the default startup engine for G upon release. Right now you need to start geronimo with the "gsh startup-server" command instead of the normal startup.sh script in order to make use of the necessary rc.d files. As for building, I would like to see the production level 2.4.3 poms in the Terracotta Maven repository. Since the TC 2.5-SNAPSHOT jars are somewhat broken (the nature of SNAPSHOTS, eh?), I went against 2.4. However, those don't match up to the TC server that one would download and according to Steve Harris, they are no good, so it blows up. The bottom line is, in order to get this to work at this stage, after you install the plugin, you need to hand copy a production ready tc.jar to the G_HOME/repository/org/terracota/terracotta/2.4/terracotta-2.4.jar, and tcconfig-xmlbeans-generated.jar to G_HOME/repository/org/terracota/tcconfig/2.4/tcconfig-2.4.jar. Then a reboot of Geronimo and it should be clustering. Here are some milestones that need crossing in order for the plugins to be production ready: 1) Get the maven repository at Terracotta to have copies of the production and working jars and update the G-plugin pom to reference those jars. 2) Get tc-session.jar in the maven repo somewhere. Right now I have to place a copy of it in the plugin and directly copy it to TC_HOME/lib/session. This is a kludge and increases the size of the plugin dramatically. It would be nice to be able to obtain the tc-session.jar from the maven repo and point a property at it to pull it from the G repository instead of looking for it in TC_HOME/lib/session. (Maybe this is possible today?? - Let me know) 3) Deploy the geronimo-plugins.xml into the root of your maven repository which is produced by the maven build (it will be in your local maven repo after building the plugin). 4) Deploy the plugins (terracotta-config and terracotta-client) into your maven repo. There is one additional plugin that I have shut off, which is the TC server plugin. This normally would allow you to start/stop the TC server from within Geronimo, however, the TC server currently does not shutdown cleanly. Essentially it does a System.exit() when stopping or when it encounters an exception. Even when coding around this, there are hangs with the socket listeners, so it never really shuts down. Thus, this is not appropriate to have in an application server since the hanging sockets can result in an exception, and TC shuts down the entire application server. Once the shut down has been cleaned up we can enable this plugin and have the TC server run inside Geronimo (its pretty cool). If anyone has any questions, please let me know. Thanks, Jeff _______________________________________________ tc-dev mailing list [email protected] http://lists.terracotta.org/mailman/listinfo/tc-dev
