[Design of POJO Server] - Re: Java EE inter-module accessibility for Web Beans
by pete.muir@jboss.org
"pete.muir(a)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...
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
15 years, 5 months
[Design of JBoss jBPM] - Re: Incomplete example setup
by tom.baeyens@jboss.com
ok.
i see the problem now. the examples jar deployment is part of the specific integration test setup in qa\build.xml:
<target name="internal.tweak.jbpm.installation.for.integration.testrun">
| <copy todir="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar" overwrite="true">
| <fileset dir="jbpm.cfg.jboss.testsuite/jbpm.identity" />
| </copy>
| <antcall target="internal.install.idm.into.jboss.integrationtestspecifics" />
| <ant antfile="${jbpm.home}/examples/build.xml" target="examples.jar" />
| <mkdir dir="${jboss.server.config.dir}/deploy/jbpm/userlibs" />
| <copy file="${jbpm.home}/examples/target/examples.jar"
| todir="${jboss.server.config.dir}/deploy/jbpm/userlibs" />
| <copy file="../modules/test-db/target/jbpm-test-db-${jbpm.version}-tests.jar"
| todir="${jboss.server.config.dir}/deploy/jbpm/userlibs" />
| <copy file="../modules/distro/target/libs/junit.jar"
| todir="${jboss.server.config.dir}/deploy/jbpm/userlibs"/>
| </target>
|
i'll fix it
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4240779#4240779
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4240779
15 years, 5 months
[Design of POJO Server] - Java EE inter-module accessibility for Web Beans
by pete.muir@jboss.org
JSR-299 requires that [3]:
anonymous wrote : Beans packaged in a certain Java EE module or library are available for injection, lookup and EL resolution to classes and
| JSP/JSF pages packaged in some other Java EE module or library if and only if the first module or library is required to be
| accessible to the other module or library by the Java EE platform specification.
|
| Note that, in some containers, a bean class might be accessible to some other class even when this is not required by the
| Java EE platform specification. For the purposes of this specification, a class is not considered accessible to another class
| unless accessibility is explicitly required by the Java EE platform specification.
For Web Beans, we will require that the Java EE container provides the deployment structure information. My current proposal is to require the container to provide a BeanDeploymentArchive[1] instance per module/library. The BeanDeploymentArchive contains a list of other BeanDeploymentArchive which it can access, as well as a list o the classes and deployment descriptor it contains. In the case of an EJB module, the container additionally exposes the EJB metadata for that module [2].
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.
I'm interested in feedback both on the API design (and how well it matches EE class accessibility rules in other's opinions), and on how to implement this in JBoss AS.
[1]https://svn.jboss.org/repos/webbeans/ri/trunk/spi/src/main/java/org/jbo...
[2]https://svn.jboss.org/repos/webbeans/ri/trunk/spi/src/main/java/org/jbo...
[3]http://in.relation.to/Bloggers/JSR299ProposedFinalDraftSubmitted#attachment1, Section 5.1
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4240775#4240775
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4240775
15 years, 5 months