[jboss-dev-forums] [Design the new POJO MicroContainer] - JBKERNEL-36

jaikiran do-not-reply at jboss.com
Mon Jun 15 06:57:24 EDT 2009


Moving our mail discussion to the forum

"kabir" wrote : 
  | Hi Ales,
  | 
  | Please see my comment here: https://jira.jboss.org/jira/browse/JBKERNEL-36
  | 
  | 


"jaikiran" wrote : 
  | Hi Kabir,
  | 
  | Which retrieval stores the ComponentMetaData by MethodSignatures? I tried to find them but could not. And shouldn't those retrievals be storing the CMD by Signature (instead of MethodSignature or DeclaredMethodSignature), since the contract with the retrieval is established through a Signature:
  | 
  | MetaDataRetrieval getComponentMetaDataRetrieval(Signature signature);
  | 
  | 

"kabir" wrote : 
  | I don't know what puts them there, but if you put a breakpoint in AOPConstructorJoinpoint and then run for example aop-mc-int/MetaDataTestCase you will see that the MemoryMetaDataLoader internally stores all the component metadatas keyed by MethodSignature - these are for methods, so it is probably keyed by Signature like you say since constructors/fields would probably use their appropriate Signature impl.
  | 
  | The problem with your suggested fix was that DeclaredMethodSignature and MethodSignature did not match on equals() and hashCode(), something I fixed in my commit for https://jira.jboss.org/jira/browse/JBMDR-57. So in the MemoryMetaDataLoader if you had a ComponentMetaDataRetrieval with an entry for MethodSignature(getIntProperty()), when you try to look up the ComponentMetaDataRetrieval pasing in a DeclaredMethodSignature(PropertyBean.getIntProperty()) the ComponentMetaDataRetrieval would not be found.
  | 



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

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



More information about the jboss-dev-forums mailing list