[ https://issues.apache.org/jira/browse/S4-72?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411536#comment-13411536 ]
Matthieu Morel commented on S4-72: ---------------------------------- I uploaded a patch in branch S4-72. * It replaces the "multiple classloaders" scheme with a mechanism inspired from Hadoop's classloading scheme. * S4R are generated differently: dependencies are not exploded then gathered again. Instead, we place them in a /lib directory in the S4R, whereas the app jar is placed in /app. After retrieval, nodes unzip the S4R in a given directory and load class/resources from there. Benefits: * user resources take precedence over dependencies resources: upon class/resource loading, the /app dir takes precedence over the /lib dir (which fulfills the requirements for this ticket) * S4R packaging is _much_ faster, in particular with large dependencies: there is no need to unzip/copy/zip all dependencies * simpler and more efficient classloading > Resource loading from S4R > ------------------------- > > Key: S4-72 > URL: https://issues.apache.org/jira/browse/S4-72 > Project: Apache S4 > Issue Type: Improvement > Affects Versions: 0.5 > Reporter: Daniel Gómez Ferro > Fix For: 0.5 > > > S4RLoader should load resources from jars. This could be accomplished > overriding {{findResource()}} or directly > {{getResource()/getResourceAsStream()}}. > User resources should also take precedence over dependencies resources. Right > now dependencies are exploded and packaged on a single JAR causing all > resources to be at the same level, possibly conflicting with each other. > There are a couple of options to solve this: > * Specify a directory for user resources which will be searched before any > other directory > * Don't explode dependencies, packaging them as JARs. Only user resources > would be at top level -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira