Another question: 

we not only need something like

ScannerService#getDeclaredFields(String className);

And of course also a method to get all the annotations from this field.

basically all the reflect stuff in a class would be needed. But without filling 
the classloader with crap which we cannot get rid of later ;)


LieGrue,
strub

--- On Fri, 3/4/11, David Jencks <[email protected]> wrote:

> From: David Jencks <[email protected]>
> Subject: Re: TCK working again
> To: [email protected]
> Date: Friday, March 4, 2011, 5:41 PM
> xbean can tell you about the
> subclasses of classes you found from an annotation. 
> The annotation tells you about Farmer, then since @Observes
> is inherited you look for subclasses of Farmer and find
> LazyFarmer.
> 
> I still don't see any problems as long as completely
> non-annotation-related pojo beans can be defined lazily on
> first (dynamic) use.
> 
> david jencks
> 
> On Mar 4, 2011, at 4:57 AM, Mark Struberg wrote:
> 
> > hi!
> > 
> > I've now fixed the DefinitionUtil#isPurePojoBean and a
> few other things which means the TCK is now working again.
> > 
> > 
> > @djencks: I fear we really have to scan all beans. In
> the official TCK there is a class
> > 
> > public class LazyFarmer extends Farmer 
> > {
> > }
> > 
> > but since Farmer is
> > 
> > public class Farmer
> > {
> > 
> >   public void
> observeEggLaying(@Observes Egg egg)
> >   {
> >      egg.recordVisit(this);
> >   }
> > 
> > }
> > 
> > it is also a JSR-299 managed bean and MUST get picked
> up eagerly :(
> > 
> > So without the definition in the spec that any CDI
> bean have to define a proper scope, we just need to suck all
> the classes :(
> > 
> > Currently all this class loading consumes a huge
> amount of PermGenSpace, and here is where xbean could help.
> If we dont use 
> > 
> > Class#getDeclaredConstructors() / Annotations
> > Class#getDeclaredMethods() / Annotations
> > ...
> > 
> > but instead get this info from XBean, then we do not
> pollute the ClassLoader and after the scanning, we can just
> clear the XBean cache again to reduce memory consumption.
> > 
> > LieGrue,
> > strub
> > 
> > 
> > 
> 
> 



Reply via email to