components.xml 7.67 KB
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns:core="http://jboss.com/products/seam/core" xmlns="http://jboss.com/products/seam/components"
            xmlns:persistence="http://jboss.com/products/seam/persistence" xmlns:drools="http://jboss.com/products/seam/drools"
            xmlns:bpm="http://jboss.com/products/seam/bpm" xmlns:security="http://jboss.com/products/seam/security"
            xmlns:mail="http://jboss.com/products/seam/mail" xmlns:web="http://jboss.com/products/seam/web"
            xmlns:transaction="http://jboss.com/products/seam/transaction" xmlns:jms="http://jboss.com/products/seam/jms"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
		http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
		http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd
		http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
		http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd
		http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd
		http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
		http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd
		http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
		http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.2.xsd
		http://jboss.com/products/seam/transaction http://jboss.com/products/seam/jms-2.2.xsd
">

    <!--
           debug="true" requires "jboss-seam-debug" dependency in pom, SiA-4.5.2-p154

           Seam managed transactions are enabled by default, but as a reminder:
           transaction-management-enabled="true", SiA-9.4.1-p370

           The ManagedEntityInterceptor (MEI) is an optional interceptor in Seam that gets  applied
          to conversation-scoped components when enabled. Enabling it is simple. You just set the
          distributable property on the org.jboss.seam.init.core component to true. More simply put,
          you add (or  update) the following component declaration in the component descriptor  (i.e.,
          components.xml), seam_reference-35.2.

          For cluster: distributable="true". Also uncomment the distributable tag in web.xml
    -->
    <core:init transaction-management-enabled="true" debug="${app.debug}" jndi-pattern="${app.jndi.pattern}" distributable="${app.distributable}"/>

    <core:manager concurrent-request-timeout="500" conversation-timeout="120000" conversation-id-parameter="cid" parent-conversation-id-parameter="pid"/>

    <core:resource-loader>
        <core:bundle-names>
            <value>messages</value>
            <!-- Add more message bundles as needed -->            <!-- <value>mymessagebundle</value> -->
        </core:bundle-names>
    </core:resource-loader>

    <web:context-filter regex-url-pattern="/Servlet.*" installed="${jsfunit.context_filter.installed}"/>
    <!--
      BOOTSTRAPPING A JPA ENTITYMANAGERFACTORY, SiA-9.3.1-p362
      installed=true for JBoss 4.2.3 or newer
      To have Seam defer loading of the persistence unit until it's needed, perhaps for a quicker
      deployment turnaround, you can  disable the startup behavior of this component, SiA-9.3.1-p363

      persistrence:entity-manager-factory.persistence-unit-name is also referenced in in persistence.xml:

      installed=true does not work on JBoss5, see: https://jira.jboss.org/jira/browse/JBSEAM-3821
    -->
    <persistence:entity-manager-factory name="entityManagerFactory" persistence-unit-name="${pu.name}" installed="true" startup="true"/>

    <!--
         If Seam loads the persistence unit (JBoss 4.x), the
         EntityManagerFactory will be resolved from #{entityManagerFactory}.
         On JBoss AS 5, the EntityManagerFactory is retrieved from JNDI (the
         binding occurs during application deployment), SiA-9.3.1-p362.
     see also: see: http://code.google.com/p/seaminaction/wiki/DeployingToJBossAS5

         By default, the Seam-managed persistence context components are defined with the autocreate
         feature disabled. By enabling this feature, you can inject these components using an
         @In annotation without having to supply the create attribute, SiA-9.3.2-p366.
     -->
    <persistence:managed-persistence-context name="entityManager" auto-create="true" entity-manager-factory="#{entityManagerFactory}"
                                             persistence-unit-jndi-name="${pu.jboss.entity.manager.factory.jndi.name}"/>

    <!--
         In an EJB3 environment, it is recommend to use a special built-in  component  for  transaction
         management,  that  is  fully  aware  of  container  transactions,	and can correctly process
         transaction success events registered with the Events component. If you don't add this line to
         your components.xml file, Seam won't know when container-managed transactions end
         (seam_reference-30.1.5)
     --><!--<transaction:ejb-transaction />-->

    <!--
         There are two rewrite options in Seam, you can choose to either use the org.tuckey
         UrlRewriteFilter or the native Seam rewriting. You should not attempt to use both.
         The native Seam rewriting does not use the org.tuckey rewrite engine at all.
         If you are going to use Seam's native rewriting, then remove the org.tuckey
         UrlRewriteFilter from web.xml and nuke the urlrewrite.xml file.

         This filter allows Seam to apply URL rewriting for views based on configuration in the
         pages.xml file. The view-mapping parameter must match the servlet mapping defined for the
         Faces Servlet in the web.xml file. If ommitted, the rewrite filter assumes the pattern *.seam.

         With Seam 2.1 or newer it is recommend to use Seam's native rewrite engine, see:
             http://docs.jboss.org/seam/latest/reference/en-US/html/configuration.html

         <web:rewrite-filter view-mapping="/seam/*" />
      -->
    <web:rewrite-filter/>

    <web:hot-deploy-filter url-pattern="*.seam"/>

    <!-- Force encoding of submitted and sent data -->
    <web:character-encoding-filter encoding="UTF-8" override-client="true" url-pattern="*.seam"/>

    <!--
   <mail:mail-session
       host="localhost"
       port="25"
       username="user"
       password="test" />
     -->

    <!-- For use with jBPM pageflow or process management
    <bpm:jbpm>
      <bpm:process-definitions></bpm:process-definitions>
      <bpm:pageflow-definitions></bpm:pageflow-definitions>
    </bpm:jbpm>
    -->


    <security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>

    <!--
         Seam Identity Management.
         see: seam_reference-15.0
         see: http://blog.hibernate.org/10904.lace
     -->

    <!--
     <security:identity />

     <security:remember-me
         enabled="true" />

     <security:jpa-identity-store
         user-class="no.knowit.example.security.model.UserAccount"
         role-class="no.knowit.example.security.model.UserRole" />

     <security:jpa-permission-store
         user-permission-class="no.knowit.example.security.model.UserPermission" />

   <drools:rule-base name="securityRules">
     <drools:rule-files>
        <value>/META-INF/security.drl</value>
     </drools:rule-files>
   </drools:rule-base>

   <security:rule-based-permission-resolver
       security-rules="#{securityRules}" />
     -->

    <event type="org.jboss.seam.security.notLoggedIn">
        <action execute="#{redirect.captureCurrentView}"/>
    </event>

    <event type="org.jboss.seam.security.loginSuccessful">
        <action execute="#{redirect.returnToCapturedView}"/>
    </event>

</components>