Flavia Rainone [http://community.jboss.org/people/flavia.rainone%40jboss.com] 
replied to the discussion

"Implementing a non-flat deployment for Weld Integration"

To view the discussion, visit: http://community.jboss.org/message/554183#554183

--------------------------------------------------------------
Making myself clearer.

> Flavia Rainone wrote:
> 
> *public* BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
>    {
>       // collection to mark the archives we have already searched
>       Collection<Archive> searchedArchives = *new* HashSet<Archive>();
>       // collection to mark the classpaths we have already searched
>       Collection<Classpath> searchedClasspaths = *new* HashSet<Classpath>();
>       // TODO -- why the search? beanClass' ClassLoader should be mapped to 
> Archive?
>       // need to throw an IllegalArgumentException if the Archive is not 
> reachable from
>       // the archives contained in the archives of this deployment
>       Archive archive = findArchive(beanClass, archives, searchedArchives, 
> searchedClasspaths);
>       *if* (archive == *null*)
> 
> 
> 


Currently, findArchive method, invoked by loadBeanDeploymentArchive as shown 
above, walks through the Archive graph in order to find an Archive associated 
with the requested beanClass (i.e., an Archive that is associated with the same 
ClassLoader that loaded beanClass).

If the Archive is not reachable in the graph, it means that we need to throw 
IllegalArgumentException.

Ales suggested to replace the findArchive call by a lookup in a ClassLoader -> 
Archive map. That way, all I would need to do is looking up for the archive 
that corresponds to the beanClass CL. This is faster than walking through the 
Archive graph, but I wouldn't be able to know whether the Archive is reachable 
from the current Deployment or not, so I wouldn't be able to throw the 
IllegalArgumentException to point that beanClass is not visible to the current 
Deployment.

Which way should I go? Should I forego the "is beanClass visible to this 
Deployment" check and follow Ales's suggestion, or should I keep things the way 
they are?

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/554183#554183]

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

Reply via email to