Hi Christopher,

I have almost 27-30 apps in my tomcat.

Do I need to declare in every applications's META-INF\context.xml.

And also I have a listener class which is in tomcat\lib folder, which also
access these shared classes using CustomSharedLibrary.

How can I access those shared libraries in listener which is in tomcat\lib
folder?

Regards,
Akram.



On Wed, Apr 17, 2019 at 1:02 AM Christopher Schultz <
ch...@christopherschultz.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Akram,
>
> On 4/16/19 12:41, Akram Hussain wrote:
> > I have gone through it, But it was not clear to me.
> >
> > If an example is provided, how to pass resources to
> > SharedClassLoader, it could be helpful.
>
> If you configure something like this in your META-INF/context.xml:
>
> <Resources>
>   <PostResources webAppMount="/WEB-INF/classes"
> base="/path/to/your/shared/libraries"
> className="org.apache.catalina.webresources.DirResourceSet" />
> </Resources>
>
> That should allow your application to load JAR files from your
> /path/to/your/shared/libraries directory.
>
> You should completely remove your custom class loader. Completely.
>
> - -chris
>
> > On Tue, Apr 16, 2019 at 7:57 PM Christopher Schultz <
> > ch...@christopherschultz.net> wrote:
> >
> > Akram,
> >
> > On 4/16/19 06:29, Akram Hussain wrote:
> >>>> I have Custom SharedClassLoader in Tomcat 7 to load shared
> >>>> library jars, which is used by different applications in that
> >>>> tomcat. We migrated to Tomcat 9, now it is not working. How
> >>>> to achieve the same functionality in tomcat 9.
> >
> > Have a look at the <Resources> which should be able to do what you
> > need without any custom code:
> >
> > http://tomcat.apache.org/tomcat-9.0-doc/config/resources.html
> >
> >>>> In Tomcat 9 it expects resources to be passed. I don't find
> >>>> any sample Code on how to populate resources.
> >>>>
> >>>> I tried like below
> >>>>
> >>>> public CustomSharedClassLoader(ClassLoader parent) throws
> >>>> Exception { super(parent); //The below three lines are added
> >>>> by me to work for Tomcat 9. StandardRoot standardRoot = new
> >>>> StandardRoot(); standardRoot.addPreResources(new
> >>>> DirResourceSet()); setResources(standardRoot);// End for
> >>>> tomcat 9 changes.
> >>>>
> >>>> for (URL urlForJars : getClassPath(SHARED_LIB)) {
> >>>> addURL(urlForJars); } start(); }
> >>>>
> >>>> It didn't work.
> >>>>
> >>>> public class CustomSharedClassLoader extends
> >>>> WebappClassLoader{//Which takes shared folder libarary, it
> >>>> returns those classes.}
> >
> > You should be able to ditch your custom ClassLoader entirely.
> >
> > -chris
> >>
> >> ---------------------------------------------------------------------
> >>
> >>
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: users-h...@tomcat.apache.org
> >>
> >>
> >
> -----BEGIN PGP SIGNATURE-----
> Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/
>
> iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAly2LbIACgkQHPApP6U8
> pFj7hA//T4xw27FJxUCRXMM7KGJDu6AYcetov1tC7IqwNkjtSds7DJW3ijFCfimv
> sRd92bEinM6miZy5sVOAnlTZje/vL6NCJSJRuGvLk8YBmbJop2wl566L6gSeH8Co
> L9zV3HOOSNq7v+K2nIfrCbrrKNmYQ/15TLFrOJhXHmiLNv3Fq5cvJzdko5qfllWy
> qIQNlrQLm+vluIHnuITGo53D2EVxrYJHVb2xOO8PoAKSc2PYaJ0C7M0YRycc4Bw9
> zLVXlY2xqsG/3r6CpqFebTzNqhDdIhlB9pDwRKXGhlocvYOQyS4SFAM0obRP1KWz
> hNYzCe2JeJJBWkxANkrUdwxoLqwb2bWoOK7FIbzObeJ+sCbqIz55hz/FVoF5SQur
> iS2k7oqyWH63SSZXBsY6GkVIS9qb6Od7ve3Pk789ueG3JbXQs726msu4DXZDtOSp
> g+Vbwd+5lczSl3zW8iRqKlxxqcBVqxI3Sd4KfblehrWdf/qKbIvqfdv2wriPfC9L
> IAEaZLGIrRG42p2rBkj0RM/xSGQC85S8CjxULgIUsTuUuUXl1PBwNnJhpidGAZlH
> bXvqqsUP7JHupun67a1P438MppGDekvSp5L/iH1aXXldE2nk/VZTPU0ugl5ksXx/
> VLPCabwgEJmeeFzaQG3BuZCRf77xDR9aKWjqrQ2ohElkWEtV+LM=
> =CFOr
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

Reply via email to