[jboss-dev-forums] [Design of POJO Server] - Re: Java EE inter-module accessibility for Web Beans

pete.muir@jboss.org do-not-reply at jboss.com
Mon Jun 29 13:08:33 EDT 2009


"pete.muir at jboss.org" wrote : JSR-299 requires that [3]:
  | The Web Beans bootstrap would require the root BeanDeploymentArchive as an input. In the case of a EAR, the root BeanDeploymentArchive would return an emtpy class iteration, and null for the beans.xml URL, and accessible modules/libraries as normal.

Unfortunately this design fails to take account of the fact that bean deployment archives may be added programmatically by CDI extensions (which may define Beans based on classes in other deployment archives). To allow for this I've added in a deployment as a first class construct [4]. 

The loadBeanDeploymentArchive method allows programmatic retrieval/addition of a BeanDeploymentArchive. If this deployment archive wasn't previously recognised as a bean deployment archive, it is added to the deployment archive graph at this point. Having completed the initialization step which allows custom bean definition, the bean deployment archive graph is re-read by Web Beans, and used to apply accessibility rules at runtime.

This also corrects the weirdness in making an EAR a BeanDeploymentArchive. In the case of an EAR it would list modules such as a war WEB-INF/classes, an EJB jar or libraries as it's accessible archives; in the case of a war, it would list WEB-INF/classes and libraries.

[4] https://svn.jboss.org/repos/webbeans/ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/Deployment.java

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

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



More information about the jboss-dev-forums mailing list