On Aug 11, 2009, at 9:21 AM, vaughn_m wrote:
When I tried the previous way I get class not found exceptions that
relate to
the classes in the targeted directory. I realize the repository is
the best
way to go however, I am deploying web apps that have several jars
(20 or so)
that need to be shared by several web apps. I have not had a chance
but if
there is a tool that can assist in creating the repository for each
jar set,
that would be tremendously helpful. I will give it a whirl again
and let
you know my final outcome.
I you use maven, you can pre-deploy your web apps as geronimo plugins
with dependencies on the jars you need to share. Then, installing the
plugin will also pull in all the jars to the appropriate locations in
the geronimo repository. This gives each web app a the jars in the
web app classloader. If you need the jars to all be in the same
classloader you can either make all but one web app have a dependency
on a particular web app or, better, set up a "classloader" plugin with
dependencies on all the jars and each web app with a dependency on the
classloader plugin.
There's a little documentation at
http://cwiki.apache.org/GMOxDOC22/administering-plugins.html
which may be more visible at
http://cwiki.apache.org/confluence/display/GMOxDOC22/Administering+plugins
The geronimo build itself is full of examples of plugins and has
several classloader plugins (under e.g plugins/classloaders).
This should be simpler in the future with geronimo 3 and osgi :-)
hope this helps
david jencks
Thank you for you help,
Vaughn
djencks wrote:
The plan you show below should work if you include a dependency on
the
resulting plugin in your actual app.
The difference between this and the technique Chi Runhua suggested is
that with your separate plan your <geronimo-home>/var/app/lib jars
will always be loaded in the applib classloader, which will be a
parent of each app classloader, whereas with Chi Runhua's suggestion,
each app will get their own copy of the classes.
This might sound stupid, but how do you know this isn't working?
I also really suggest you rethink the relative convenience of using
the geronimo repository and a custom shared lib folder. If you are
dead set against using maven, then this might make sense, otherwise I
recommend you try setting up a maven build of a custom server
assembly
that includes your apps.
thanks
david jencks
On Aug 11, 2009, at 4:13 AM, vaughn_m wrote:
Hello -
I am trying to create 4 different shared lib folders in different
directories. I have read and tried to use the
org.apache.geronimo.system.sharedlib.SharedLib gbean (the plan is
below) in
the various web apps that might use the specific directory. But this
has
been unsuccessful. If I place my jars in the sharedlib folder
(var/shared/lib) it works perfectly. But if I place the jars in the
specified lib folder and remove the jars form the shared folder the
application will not deploy. I need to separate these libs in
different
folders so I can have an upgrade path for different components down
the
road. While I could use the repository as a last resort, it would
be more
convenient for me to reuse the SaredLib gbean to accomplish this
task by
referencing a specific external folder. Any insight anyone would
have would
be helpful. See the plan below for a reference.
Vaughn
<module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
<!--Company Web App-->
<environment>
<moduleId>
<groupId>com.company.app</groupId>
<artifactId>applib</artifactId>
<version>2.2.07</version>
<type>car</type>
</moduleId>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.framework</groupId>
<artifactId>rmi-naming</artifactId>
<version>2.1.4</version>
<type>car</type>
</dependency>
</dependencies>
<hidden-classes/>
<non-overridable-classes/>
</environment>
<gbean name="AppSharedLib"
class="org.apache.geronimo.system.sharedlib.SharedLib">
<attribute name="classesDirs">var/app/classes</attribute>
<attribute name="libDirs">var/app/lib</attribute>
<reference name="ServerInfo">
<name>ServerInfo</name>
</reference>
</gbean>
</module>
--
View this message in context:
http://www.nabble.com/Multiple-SharedLibs-tp24915605s134p24915605.html
Sent from the Apache Geronimo - Dev mailing list archive at
Nabble.com.
--
View this message in context:
http://www.nabble.com/Multiple-SharedLibs-tp24915605s134p24920901.html
Sent from the Apache Geronimo - Dev mailing list archive at
Nabble.com.