[jboss-dev-forums] [Design the new POJO MicroContainer] - Re: Annotation features

adrian@jboss.org do-not-reply at jboss.com
Wed Jul 18 11:36:03 EDT 2007


"alesj" wrote : 
  | There are some pointers to use the ClassInfo/BeanInfo:
  | anonymous wrote : 
  |   | The inspection should come from "reflection abstraction"
  |   | in the container module which is integrated via the
  |   | Configurator/BeanInfo. 
  | 
  | But is looks like this is not yet fully implemented:
  | anonymous wrote : 
  |   | Which AFAIK, (Kabir may know better) isn't properly integrated
  |   | except when AOP is used. i.e. The Bean/ClassInfo is not updated
  |   | with the annotation overrides.
  |   | 
  | 

The plan to update the Bean/ClassInfo was dropped (or at least shelved)
since it was too much work for AOP.

Instead, you should use the MetaData from the MetaDataRepository for that instance. 
That is where the overridden annotations are stored at the instance level.

anonymous wrote : 
  | Regarding the scattering:
  | 
  | 1) I've started with a simple annotation handling with AnnotationDependencyBuilder and DependencyFactory(Lookup), but this is not yet enabled - DependencyBuilder is not pluged in.
  | There was a question about using a chain of DependencyBuilders, but that's where it stopped.
  |  - http://www.jboss.com/index.html?module=bb&op=viewtopic&t=107268
  | 
  | 2) But on the other hand I'm doing a whole annotation lookup through MetaDataRepository in PreInstallAction.
  | 
  | 3) And I do a straight annotation lookup via BeanInfo in LifecycleAction.
  | 
  | I like the AnnotationDependencyBuilder with DependencyFactory approach - ok, some weak caching is missing and some other features - but if we are able to provide a generic annotation handling that way ...
  | 
  | I guess some of the actual annotation handling will/is depending on the ControllerState we are in - specially regarding classes being present and actual bean instantiation with beanfactory.
  | Perhaps doing DependencyBuilders depending on the state?
  | 
  | Is changing the BeanMetaData legal when handling annotations?
  | Or we need to do the cloning before this? 

Don't follow the rest of this, I still haven't had to look at what you and Kabir did
in this area.

IMHO, the BeanMetaData should always be cloned, even if it just avoids

  | BeanMetaData bmd = ...
  | controller.registerContext(bmd);
  | bmd.changeIt() // oops - which version of bmd gets used?
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4065441#4065441

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4065441



More information about the jboss-dev-forums mailing list