Web Beans integration

Version 4

    The Web Beans integration project is located at https://svn.jboss.org/repos/jbossas/projects/webbeans-ri-int/ and consists of a number of modules that collectively implement the Web Beans SPI - https://svn.jboss.org/repos/webbeans/ri/trunk/webbeans-spi/ - for JBoss AS.

     

    webbeans-jboss-int-jboss-ejb

     

    Provides integration with JBoss EJB via an implementation of:

     

    • org.jboss.webbeans.ejb.spi.EjbServices for
      • @EJB injection, as an MC bean which requires the deployment unit, MC kernel, EJBReferenceResolver injected.
      • discovering all EJBs in a given deployment) as an MC bean which requires the deployment unit and EjbReferenceResolver injected.
      • resolving EJB references used for backing sesison beans
    • org.jboss.webbeans.ejb.spi.JpaServices for
      • @PersistenceContext injection, as an MC bean which requires the deployment unit, MC kernel and the PersistenceUnitDependencyResolver injected.
    • org.jboss.webbeans.ejb.spi.ResourceServices for
      • @Resource injection, an MC bean

     

     

    webbeans-jboss-int-deployer

     

    Provides a set of deployers to meet the non-API contracts of the Web Beans SPI, and to bootstrap Web Beans. These are:

     

    • org.jboss.webbeans.integration.deployer.cl.WebBeansWebUrlIntegrationDeployer which inserts the webbeans-ri.jar and webbeans-ri-int-jbossas.jars into the application classpath if the deployment is marked as a JSR-299 archive (existence of META-INF/web-beans.xml or WEB-INF/web-beans.xml)
    • org.jboss.webbeans.integration.deployer.ext.JBossWebBeansMetaDataDeployer which deploys a jboss-web-beans.xml JBoss AS specifc configuration file if present (currently unused)
    • org.jboss.webbeans.integration.deployer.metadata.PostJBossAppMetadataDeployer which enables classloader isolation for Web Bean EAR deployments by default
    • org.jboss.webbeans.integration.deployer.metadata.PostJBossMetadataDeployer which enables classloader isolation for Web Bean EJB deployments by default
    • org.jboss.webbeans.integration.deployer.metadata.PostJBossWebMetadataDeployer which enables classloader isolation for Web Bean WAR deployments by default
    • org.jboss.webbeans.integration.deployer.metadata.PostWebMetadataDeployer which inserts the Web Beans servlet listener into the WAR deployment servlet configuration
    • org.jboss.webbeans.integration.deployer.metadata.WBEjbInterceptorMetadataDeployer which inserts the Web Beans EJB interceptor into the EJB deployment configuration
    • org.jboss.webbeans.integration.deployer.metadata.WebBeansFilesDeployer which collects all web-beans.xml and Web Beans classpaths in a deployment unit and outputs them
    • org.jboss.webbeans.integration.deployer.env.WebBeanDiscoveryDeployer which visits all deployment units and, if they are Web Bean classpaths, stores all classes present to pass to Web Beans to deploy
    • org.jboss.webbeans.integration.deployer.env.WebBeanDiscoveryEnvironment is an MC bean which stores the results of WebBeanDiscoveryDeployer
    • org.jboss.webbeans.integration.deployerenv.WebBeansBootstrapDeployer is an MC bean which is responsible for injecting the integration implementations into the Web Beans bootstrap, and booting Web Beans
    • org.jboss.webbeans.integration.deployer.env.JBossWebBeanDiscovery provides an adaptor from WebBeanDiscoveryEnvironment to WebBeanDiscovery

     

    Also provides assembly of

     

    • Web Beans JBoss integration (webbeans-jboss-int-deployer.jar and webbeans-jboss-int-jboss-ejb.jar)
    • Web Beans (jsr-299-api.jar, webbeans-core.jar, webbeans-api.jar, webbeans-spi.jar)
    • webbeans-deployer-jboss-beans.xml and webbeans-ejb-jboss-beans.xml

     

    into a zip using the maven assembly plugin suitable for unzipping into JBoss AS.

     

    Finally, the zip is imported using thirdparty in the JBoss AS build, and unzipped using build/build-distr.xml.