-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Mark,
On 10/16/19 04:41, Mark Thomas wrote: >> Mark, >> >> On 10/15/19 09:37, Mark Thomas wrote: >>> On 14/10/2019 20:29, André Warnier (tomcat) wrote: >>>> From a long-time (occasional) list contributor : That's a >>>> nice post, in many ways, and a good way to get quick and >>>> useful answers. I only regret that my own knowledge is not >>>> sufficient to provide such an answer. (We regularly complain >>>> at people posting to this list, when their post is "not >>>> nice", so I thought we should also from time to time give >>>> kudos when it is). >> >>> +1 >> >>>> On 14.10.2019 16:37, Robert Olofsson wrote: >>>>> Hi! >>>>> >>>>> Some background: We are currently running tomcat (9.0.26) >>>>> and we serve data to both html/webapp and to our java >>>>> application. The java application uses a lot of the same >>>>> jar files that our servlets use. >>>>> >>>>> We have had tomcat setup with two directories: 1) >>>>> webapps/<webapp>/WEB-INF/lib (as usual for servlet classes) >>>>> 2) webapps/<webapp>/clientdir/ (jar files for the java >>>>> application). >>>>> >>>>> This means that we have a lot of duplication of jar files >>>>> in these two directories. >>>>> >>>>> We would like to have the duplicate files in only one >>>>> place, sure disk space is cheap, but data transfer takes >>>>> time. We thought that having the jars in the clientdir >>>>> would be nice. >>>>> >>>>> We have read the documentation for tomcat and found the >>>>> resource handling and it looks like we could possibly use >>>>> something like: >>>>> >>>>> <Resources> <JarResources >>>>> base="${catalina.base}/webapps/<webapp>/clientdir/" >>>>> className="org.apache.catalina.webresources.DirResourceSet" >>>>> >>>>> webAppMount="/WEB-INF/lib" /> </Resources> >>>>> >>>>> We tested this lightly and things seems to work. >>>>> >>>>> Questions: Is there any problem with this? >> >>> Generally, no. You've done it in what I'd consider to be the >>> "safer" way by exposing all the JARs visible to the client to >>> the application's class loader rather than the other way >>> around. >> >> Isn't there a magic ${property} that can be used to mean "the >> context's root" so you don't have to use ${catalina.base} >> instead? I browsed through the document a bit and didn't find >> anything, but I could swear it's been discussed in the past. > > There has been some discussion about exposing the context name via > additional routes but I don't remember anything specific about the > context root - apart from various discussions around getRealPath() > and not being able to assume that any web app maps to a location on > a file system. Right, getRealPath is the badness. But! Since all resource loading in Tomcat now goes through the resources framework, perhaps "${context-root}" could use a proper protocol that isn't "file:///" and point to the right place? - -chris -----BEGIN PGP SIGNATURE----- Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/ iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl2naqYACgkQHPApP6U8 pFgAXA//Z/IlqTRKyuXgBQUFB1UlnYesICkN+1IvLNYeo/ooNoxNpoBHw0Wkotkt KJ1R+QNrJ9U/kPZ7lLe0eng5fLtv2kuTX1ZhqyOuqCRTnb+Knl3I3EiZ7czgX1RK v+Y99EMCKg5aVXj1n9fB9Qha+WMD0JI729Qr0kPd7WPmhbLcLXts7/aqAAU1+7zs hZDUNB9eW+eV+f3nkA0mjJBzj18sLdNpvn1oxUwFr70YaZenXb7kIb2zueGVloOw X1378Yr3txvPb03T9mwcEZ5PyZ+NJgVvoL0HB5N+K67X1DiBGPolOWVw6lUjNQmt +nSEvrBz2jkVbl9MLVj9soGborgNZpFAE88T73qTj3Ky88uxgVn8gy4wQirynEEA ggBdjrybi2Ecl9gjgmrkY+EjFVndWFq0kykkLPPIAWalIGM0eDL+LXGpORRQ7VNx QQfPGmbSF6QahRBFx+wdxLziIT++QZJgZFQO49eWyID4okAaoW4U5ml4oHEj602i 0Ab1YXEuH8+tCiyklgIQYiU1bW2WW1281Lml9m399jTTKzaW/A4/ZpEM4Ak4Pj8q X6Sigo3AK7aBT7TrPpx/GHbkM53lA6pBYERp156iFCYecVOjwUNSWrtY8Z0gLnQi 6vriV9z8WWFD2FdZ3WDVS3FTpfJbE8jONZZugQbrIKN5yTj1Ves= =gSFg -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org