I had a long discussion about that and the spec is imo ambigous. Currently our implementation does not behave the same way as weld, but we clearly fulfil the spec. I've wrote this to Gavin but got no answer since.
LieGrue, strub --- On Tue, 6/15/10, Eric Covener <[email protected]> wrote: > From: Eric Covener <[email protected]> > Subject: problems with lack of archive-centric BeanManager > To: [email protected] > Date: Tuesday, June 15, 2010, 10:21 AM > Currently the OWB BeanManager does > not retain much info about > individual Archives (whether they be BDA's or non-BDA's), > only the > aggregate classes and beanXML's. > > For the sake of discussion, consider a WAR with three > utility jar's in > the lib/ directory. > > a.jar is a BDA that defines an > interceptor binding and an interceptor > b.jar is a BDA that defines a managed > bean with the aforementioned > InterceptorBinding > c.jar is a BDA that defines a managed > bean with the aforementioned > InterceptorBinding. > > Our current design does not permit either of the following > scenarions, AFAICT: > > b.jar and c.jar both enable the interceptor defined > in a.jar > (treated as a duplicate) > Exactly one of b.jar and c.jar enables the > interceptor defined in > a.jar (ends up enabled for beans from either archive if > enabled in one > -- this is in the more troubling neighborhood) > > This is primarily because between the BeanManager and the > ScannerService, we lose all granularity abut the source of > classes and > beanXML's. This manifests itself in slightly more > involved ways, such > as when an applications contains multiple modules with > multiple > classloaders. Neither 1 BeanManager or N BeanManagers > seems too > appealing in this case. > > There has been some offline discussion about: > > * introduce a first-class data structure to > represent a Archive > (composed of classes, XML's, and Archive references) > * teach the ScannService or some successor to return > lists of > Archives to the deployment code > * teach the BeanManager to manage a network of > Archives to properly > follow the EE accessibility rules > > I took a crack at illustrating this on top of guess by > adding separate > sub-modules for the utility jars as described above > > http://people.apache.org/~covener/owb/ > > OOTB this results in a disabled (for a specific bean based > on the BDA > it comes from ) interceptor being run. > > > -- > Eric Covener > [email protected] >
