Ales Justin [http://community.jboss.org/people/alesj] replied to the discussion
"Implementing a non-flat deployment for Weld Integration" To view the discussion, visit: http://community.jboss.org/message/542429#542429 -------------------------------------------------------------- > So, these features that we need to support provide the arguments as to why we > should mirror the ClassLoader structure instead of implementing this from > scratch. Yeah, re-inventing this would be a nightmare. ;-) > Pete also pointed out an important behaviour that should be fixed. In a > nutshell, all archives visible to a BDA are scanned. In the given scenario: > ejb.jar A reaches lib2. In lib2 we have a ClassPath reference in the manifest > to lib3, which is not in the classpath of the server... it is somewhere in > the filesystem. In this case, for what I understood from Pete's explanations, > lib3 is going to be scanned for CDI stuff. But this shouldn't happen, so we > would also need a way of differentiating lib3 from lib2. I'll stop my > explanation here, as I think Pete can fill in the blanks and explain this > much better :-) I guess this is the discussion we already had once: actual Weld deployment vs. static "library"? > So, Ales, how do you think this should be done? I think we have plenty of > code in the ClassPools that do exactly that, mirror the ClassLoader structure > in a way that allows us to find the classes and xml files in META-INF dirs. > Maybe there is a way of reusing part of the ClassPool code to do this? It is similar in a way, but I don't see how you would be able to re-use it. In new CL layer it's one Module per ClassLoader and vice versa. Each Module / ClassLoader belongs to some Domain. So, we would have to keep track of Modules and how are they wired hierarchicaly and grouped by Domain. A Module can see any ancestor Module and all Modules in its Domain and ancestor Domains. I would differentiate between application's explicit Modules and what it can reach, hence you don't scan yourself too deep; e.g. into default Domain. This way it should be also easy to support a notin if libraries as long as they are deployed the same way / over new CL layer. -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/542429#542429] Start a new discussion in JBoss Microcontainer Development POJO Server at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2116]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
