This is turning out to be more complicated than I expected due to some questionable choices around the PluginInstaller gbean. I suspect a convenient solution will only be available in geronimo 2. You are pretty much the first person to try out this functionality which we designed in from the beginning.... and it turns out there are a couple of glitches.

Ted Kirby opened a jira with plans to install a second repo https:// issues.apache.org/jira/browse/GERONIMO-2814 and I'm seeing what we can do to add a PluginInstaller gbean to it. Unfortunately someone decided there would only be 1 plugin installer gbean and it would be started very early in geronimo startup.... not necessarily a valid scenario.

Meanwhile it looks like you could get farther if the console deployed your application to the second, server specific repository rather than the primary shared repository? IIUC right now the console deploys into all the config-stores it can find, which in your case ought to be 2. To make it find only the server-specific config-store/ repo you can override the Store references pattern in the Deployer gbean, something like this:

<module name="org.apache.geronimo.configs/geronimo-gbean- deployer/${version}/car">
      <gbean name="Deployer">
        <reference name="Store">
            <name>Local2</name>
        </reference>
      </gbean>
    </module>

However I haven't tested this.

thanks
david jencks

On Feb 8, 2007, at 5:52 AM, Ghattu, Satya [CCC-OT_IT] wrote:

David,
Thanks for the information. Wow, did not expect this to be so
complicated, may be it is not but with my little understanding of
geromino it sounds complicated. Probably I should explain why I am
trying to do this.
Basically I am trying to setup a WASCE environment for our users on a
solaris machine. I installed WASCE under say /opt/wasce. I created
several instances of wasce servers under /export1/users/server1,
/export1/users/server2. These instances use the binaries from
/opt/wasce. Now  I Created a simple web application, emtServlet.war.
From the Admin console I deployed this application, so far so good.
When I looked at the config.xml, I see this entry.
<module name="default/emtServlet/1170941980461/war"/>
And I see that under the <WASCE_HOME>/repository there is a directory
structure with default/emtServlet/1170941980461 created. I can
understand why this can be but in our environment WASCE_HOME will always be read-only and the user using the server instance will not have write
permissions.

So, How can I deploy a simple application such that the server does not
write to the WASCE_HOME directory? Like in other App Servers can
geromino always deploy from a file?

Sorry if this is very basic, still trying to get my feet wet ... ;-).

Thanks for your help,
-satya


-----Original Message-----
From: David Jencks [mailto:[EMAIL PROTECTED]
Sent: Wednesday, February 07, 2007 1:01 PM
To: [email protected]
Subject: Re: Install plugin to local repository


On Feb 7, 2007, at 9:01 AM, Ghattu, Satya [CCC-OT_IT] wrote:

Folks,
I am trying to install a plugin that I have created on to a WASCE 1.1
Server. I am using the deploy tool's install-plugin to do that. It
works great but is there any way to specify a different repository
rather than the default. After installing the plugin, the plugin
artifacts are downloaded to <WASCE_HOME>/repository directory. Since I

have multiple instances of wasce server's sharing the same
installation, I would like each server instance to have a local
repository. Is this possible?
I already have
<gbean name="DownloadedPluginRepos">
<attribute
name="userRepositories">[file:/export1/ste/dev/SG97681/work/ibm/
myroot/j
ets/lib/repository]</attribute>
</gbean>
nn my config.xml, but that does not seem to help.

Appreciate any help on this.


It's remarkably inconvenient to make this work at the moment, although
it should be fairly easy to fix.

You've tried to change the wrong end of the plugin installation process
:-/

I'm assuming that you have a separate configuration to install the
additional server-specific repository and config store that you want to
install plugins into.

What you need to do is disable the PluginInstaller gbean in the rmi-
naming module and add a replacement gbean into your server-specific repo
plan that points to the repo and config store in that plan.

So, in config.xml you'd have

     <module name="org.apache.geronimo.configs/rmi-naming/${version}/
car">
         <gbean name="PluginInstaller" load="false"/> ...

and in your plan something like

     <gbean name="PluginInstaller"
class="org.apache.geronimo.system.plugin.PluginInstallerGBean">
         <reference name="Repository">
             <name>MyServerRepository</name>
         </reference>
         <reference name="ConfigStore">
             <name>MyServerConfigStore</name>
         </reference>
         <reference name="ConfigManager">
             <name>ConfigurationManager</name>
         </reference>
         <reference name="ServerInfo">
             <name>ServerInfo</name>
         </reference>
         <reference name="ThreadPool">
             <name>DefaultThreadPool</name>
         </reference>
         <reference name="PluginAttributeStore">
             <name>AttributeManager</name>
         </reference>
     </gbean>

What we need is for the deploy tool to look at a target config store
option of some kind as do the jsr-88 like deploy commands. This should
be easy to implement.  A JIRA issue would be a good place to start.  I
don't think such an improvement will get into geronimo 1.2 but it might
into 2.0.

thanks
david jencks



Thank You,
-satya


Reply via email to