1 Reply Latest reply on Oct 17, 2008 10:48 AM by Scott Stark

    Runtime Metadata View

    Andrew Rubinger Master

      This is one we've known about for some time, and I'd like to get a definitive plan together and stick to it.

      The metadata provided by jboss-metadata does not account for an AspectDomain (ie. information that may have been tacked on by AOP), and right now we've got two models:

      * EJB3 Core (container.getAnnotation(MyAnnotation.class)
      * jboss-metadata (myMetaData.getMyAnnotation());

      In EJB3 Proxy I'm using the jboss-metadata model, which due to being an incomplete view, regresses the EJB3 TestSuite "defaultremotebindings" for example.

      <!-- This is not available in JBossSessionBeanMetaData presently -->
       <annotation expr="!class(@org.jboss.ejb3.annotation.RemoteBinding)">
       @org.jboss.ejb3.annotation.RemoteBinding (jndiBinding="DefaultedStateless", factory = "RemoteProxyFactory", interceptorStack="", clientBindUrl = "")
       </annotation>


      I'll propose the following:

      * Build out the MetaData Bridge started by Carlo in jboss-ejb3-metadata
      * Convert "getAnnotation"-style semantics to use direct metadata as we come across bug fixes, refactorings.
      * Create Deployer to apply the MetaData Bridge to JBossMetaData.isEjb3x()

      This has the following benefits:

      * Doesn't force refactoring/changing of old (working) mechanisms
      * Allows stuff using jboss-metadata view to stay intact without any changes

      S,
      ALR