12 Replies Latest reply on Dec 21, 2002 7:32 AM by flyshi

    WebLogic to JBoss migration - docs?

    philh

      Hello,

      I am new to JBoss and work at a company that has an active install base of WebLogic 5.x and 6.x. I am working on a project to look at porting these app servers to JBoss.

      I am wondering if anyone has put together migration notes and experiences from a similar migration project into documented form?

      Thanks in advance,
      Phil

        • 1. Re: WebLogic to JBoss migration - docs?
          marvin

          I've got the same problem. Especially I should know, how to specify the charset for a web app. There is a possibility to do so in weblogic6.1 with an additional (to web.xml) deployment-descriptor "weblogic.xml" in WEB-INF. Can anybody give me a clue how to do so in JBoss?

          (I'm using JBoss 2.4.7 and Catalina 4.0.4 and I gave the JVM the Property "-Dfile.encoding=UTF8")

          • 2. Re: WebLogic to JBoss migration - docs?
            sayers

            We are in the same situation. I was wondering if you had ever determined how to do this?

            Thanks,

            Shawn.

            • 3. Re: WebLogic to JBoss migration - docs?
              davidjencks

              I don't know how far it will get you, but there is a deployer for weblogic specific .ear files in jboss 3.1 You need to rename your .ear with a .wlar extension I believe. The "foe deployer" attempts to translate the weblogic specific dds to the jboss equivalents. This is somewhat experimental at this point I think but might provide automatic conversion of all the easy parts at least.

              • 4. Re: WebLogic to JBoss migration - docs?
                sayers

                Thanks I will give it a try.

                • 5. Re: WebLogic to JBoss migration - docs?
                  jakasjava

                  I am doing this.
                  I tried with Foedeployer. If there are lot of weblogic specifics, this cannot handle. for ex: NonCatalogLogging, Timers, Weblogic Jdbc etc.,

                  download apache xalan.jar
                  use go to sourceforge.net
                  go to varia package head
                  download some resources like standardwl.xml, jbosscmp-jdbc.xml etc
                  using which u can generate relevant dds for Jboss.
                  Have done this.....
                  can help u with this, if any one requires.
                  let me know..
                  thanks

                  • 6. Re: WebLogic to JBoss migration - docs?
                    hvoss

                    We have successfully ported our full scale J2EE app from JBoss 2.4.4/Tomcat 4.0.3 to Weblogic 6.1 SP3. Porting was a pain in the ass (We have > 10.000 lines of deployment descriptor code), especially the finder elements from jaws.xml.

                    If anyone has specific questions on this issue, feel free to ask me.

                    I just want to take the opportunity to thank Marc et al for a great server, which we think is compared to other ones, especially the one above, a stable, cool piece of open source software.

                    Carry on good work guys!

                    • 7. Re: WebLogic to JBoss migration - docs?
                      tsaikishore

                      I want to port my weblogic6.1 application to jboss3.0.0.
                      Please provide me the porting document,if any body having it.

                      • 8. Re: WebLogic to JBoss migration - docs?
                        jakasjava

                         

                        "jakasjava" wrote:
                        Dude
                        Here are the details
                        there are 3 files of importance
                        1 .standardwl.xml <last part in the bottom of this message >
                        (I could attach the files)
                        2. jbosscmp-jdbc.xsl
                        3.weblogic-ejb-jar.xsl
                        copy them to a file and run the commands below

                        java org.apache.xalan.xslt.Process -in weblogic-cmp-rdbms-jar.xml -xsl jbosscmp-jdbc.xsl -out jbosscmp-jdbc.xml
                        java org.apache.xalan.xslt.Process -in weblogic-ejb-jar.xml -xsl weblogic-ejb-jar.xsl -out jbosscmp-jdbc.xml

                        Other details follows....



                        1.Create Data Source based on the DB
                        For oracle its Oracle-Service-xa.xml /oracle-service.xml.

                        2. Persist with ejb-jar.xml <remove OrderBy Clause, if present and add them in jbosscmp-jdbc.cml>this is not supported in 3.0.2
                        3. need to create jboss.xml and jbossxmp-jdbc.xml
                        Attached zip contains all relevant details to generate step 3.




                        Thheck the noname.txt. this has commands to generate the step3 documents using xalan

                        4. ensure if any beans are passed as parameters, then make those beans implement LocalHome and LocalObject
                        5. ensure u dont use Collection(use ArrayList or Vectors)
                        better still Arrays for parameter passing.

                        6 persist with web.xml and create jboss-web.xml
                        to create jboss-web.xml, copy weblogic.xml to jboss-web.xml and rename the elements "resource-description" to "resource-ref"

                        7. have all library (ur library) in JBoss_Classpath and include this in jboss_dist\bin\run.bat
                        as shown in following snippet

                        rem compatible distribution to which JAVA_HOME points
                        set LIB_HOME=c:\ep1\lib
                        SET LIB_PATH=%LIB_HOME%\classes12.zip;

                        set JAVAC_JAR=%JAVA_HOME%\lib\tools.jar
                        set JBOSS_CLASSPATH=%JBOSS_CLASSPATH%;%JAVAC_JAR%;%RUNJAR%;%LIB_PATH%;

                        8:create a directory called "mycompany" under "server".
                        copy default\*.* mycompany

                        from command prompt, u can start jboss as
                        run -c mycompany
                        then start deploying the jar and war or ear.
                        foe development environment, under deploy directory of "mycompany" create <name of ear>.ear
                        create directory called META-INF
                        copy application.xml
                        copy the jar to <name of ear>.ear
                        create directory called <name of war>.war
                        create directory called WEB-INF
                        copy web.xml and weblogic.xml
                        u r fine now for hot deploy and compilation.


                        <!-- ================================================================
                        -->
                        <!-- Stylesheet for weblogic-cmp-rdbms-jar.xml to jbosscmp-jdbc.xml
                        -->
                        <!-- transformation.
                        -->
                        <!-- Written by Alexey Loubyansky(loubyansky@ukr.net)
                        -->
                        <!-- ================================================================
                        -->
                        <!--
                        | ToDo & Notes:
                        | - standard WebLogic datasource type mapping table
                        | - based on default type mapping convert dbms-column-type element
                        | The element supported only for Oracle
                        | - review to check boolean values are handled in case insensitive way
                        | - datasource for relationship table isn't defined for now


                        -->
                        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
                        <!-- Global parameters
                        -->
                        <xsl:param name="ejb-jar">ejb-jar.xml</xsl:param>
                        <xsl:param name="standardjbosscmp-jdbc">standardjbosscmp-jdbc.xml</xsl:param>
                        <xsl:template match="/">
                        <!-- loop through all weblogic-rdbms-jar
                        -->
                        <!-- actually there must be only one element
                        -->
                        <xsl:for-each select="//weblogic-rdbms-jar">
                        <!-- jbosscmp-jdbc
                        -->
                        <xsl:element name="jbosscmp-jdbc">
                        <!-- defaults
                        -->
                        <xsl:call-template name="defaults">
                        <xsl:with-param name="weblogic-rdbms-jar" select="." />
                        </xsl:call-template>
                        <!-- defaults
                        -->
                        <!-- enterprise-beans
                        -->
                        <xsl:call-template name="enterprise-beans">
                        <xsl:with-param name="weblogic-rdbms-jar" select="." />
                        </xsl:call-template>
                        <!-- enterprise-beans
                        -->
                        <!-- relationships
                        -->
                        <xsl:if test="./weblogic-rdbms-relation">
                        <xsl:call-template name="relationships">
                        <xsl:with-param name="weblogic-rdbms-jar" select="." />
                        </xsl:call-template>
                        <!-- relationships
                        -->
                        </xsl:if>
                        </xsl:element>
                        <!-- jbosscmp-jdbc
                        -->
                        </xsl:for-each>
                        <!-- weblogic-rdbms-jar
                        -->
                        </xsl:template>
                        <!--
                        | Template to generate defaults element


                        -->
                        <xsl:template name="defaults">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- defaults
                        -->
                        <xsl:element name="defaults">
                        <!-- create-table
                        -->
                        <xsl:call-template name="create-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- create-table
                        -->
                        <!-- remove-table
                        -->
                        <xsl:call-template name="remove-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- remove-table
                        -->
                        </xsl:element>
                        <!-- defaults
                        -->
                        </xsl:template>
                        <!-- defaults
                        -->
                        <!--
                        | Template to generate enterprise-beans element


                        -->
                        <xsl:template name="enterprise-beans">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- enterprise-beans
                        -->
                        <xsl:element name="enterprise-beans">
                        <xsl:for-each select="$weblogic-rdbms-jar/weblogic-rdbms-bean">
                        <xsl:call-template name="entity">
                        <xsl:with-param name="weblogic-rdbms-bean" select="." />
                        </xsl:call-template>
                        <!-- enitity
                        -->
                        </xsl:for-each>
                        <!-- weblogic-rdbms-bean
                        -->
                        </xsl:element>
                        <!-- enterprise-beans
                        -->
                        </xsl:template>
                        <!-- enterprise-beans
                        -->
                        <!--
                        | Template to generate entity element


                        -->
                        <xsl:template name="entity">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-bean" />
                        <!-- entity
                        -->
                        <xsl:element name="entity">
                        <!-- ejb-name
                        -->
                        <xsl:copy-of select="$weblogic-rdbms-bean/ejb-name" />
                        <!-- datasource
                        -->
                        <!--
                        | data-source-name is required element in weblogic-cmp-rdbms-jar.xml
                        | so there is no need to verify its existence


                        -->
                        <xsl:element name="datasource">
                        <xsl:value-of select="$weblogic-rdbms-bean/data-source-name" />
                        </xsl:element>
                        <!-- datasource
                        -->
                        <!-- datasource-mapping
                        -->
                        <!--
                        | datasource-mapping must present if datasource does
                        | I don't know how WL does mapping. I've found only java to sql
                        | types for oracle.
                        | For now the solution is:
                        | - check whether datasource is the same as in defaults in
                        | standardjbosscmp-jdbc.xml. Then take the corresponding
                        | datasource-mapping value from defaults
                        | - if not, take the datasource value, throw away 'java:/' and use
                        | the tail as a datasource-mapping.


                        -->
                        <!-- datasource-mapping
                        -->
                        <xsl:choose>
                        <xsl:when test="document($standardjbosscmp-jdbc)/jbosscmp-jdbc/defaults[datasource=$weblogic-rdbms-bean/data-source-name]">
                        <xsl:copy-of select="document($standardjbosscmp-jdbc)/jbosscmp-jdbc/defaults/datasource-mapping" />
                        </xsl:when>
                        <xsl:otherwise>
                        <xsl:element name="datasource-mapping">
                        <xsl:value-of select="substring-after($weblogic-rdbms-bean/data-source-name, 'java:/')" />
                        </xsl:element>
                        <!-- datasource-mapping
                        -->
                        </xsl:otherwise>
                        </xsl:choose>
                        <!-- table-name
                        -->
                        <!--
                        | table-name is required in weblogic-rdbms-bean


                        -->
                        <xsl:copy-of select="$weblogic-rdbms-bean/table-name" />
                        <!-- cmp-field
                        -->
                        <xsl:for-each select="$weblogic-rdbms-bean/field-map">
                        <xsl:call-template name="cmp-field">
                        <xsl:with-param name="field-map" select="." />
                        </xsl:call-template>
                        <!-- cmp-field
                        -->
                        </xsl:for-each>
                        <!-- field-map
                        -->
                        <!-- load-groups
                        -->
                        <xsl:if test="$weblogic-rdbms-bean/field-group">
                        <!-- load-groups
                        -->
                        <xsl:element name="load-groups">
                        <xsl:for-each select="$weblogic-rdbms-bean/field-group">
                        <xsl:call-template name="load-group">
                        <!-- load-group
                        -->
                        <xsl:with-param name="field-group" select="." />
                        </xsl:call-template>
                        <!-- load-groups
                        -->
                        </xsl:for-each>
                        <!-- field-group
                        -->
                        </xsl:element>
                        <!-- load-groups
                        -->
                        </xsl:if>
                        <!-- queries
                        -->
                        <xsl:for-each select="$weblogic-rdbms-bean/weblogic-query">
                        <xsl:call-template name="query">
                        <xsl:with-param name="weblogic-query" select="." />
                        </xsl:call-template>
                        <!-- query
                        -->
                        </xsl:for-each>
                        </xsl:element>
                        <!-- entity
                        -->
                        </xsl:template>
                        <!-- entity
                        -->
                        <!--
                        | Template to generate query element


                        -->
                        <xsl:template name="query">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-query" />
                        <!-- query
                        -->
                        <xsl:element name="query">
                        <xsl:copy-of select="$weblogic-query/description" />
                        <xsl:copy-of select="$weblogic-query/query-method" />
                        <!--
                        | for now all queries are copied


                        -->
                        <!-- jboss-ql
                        -->
                        <xsl:element name="jboss-ql">
                        <xsl:value-of select="$weblogic-query/weblogic-ql" />
                        </xsl:element>
                        <!-- jboss-ql
                        -->
                        </xsl:element>
                        <!-- query
                        -->
                        </xsl:template>
                        <!-- query
                        -->
                        <!--
                        | Template to generate declared-sql


                        -->
                        <xsl:template name="declared-sql">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-ql" />
                        <!-- declared-sql
                        -->
                        <xsl:element name="declared-sql">
                        <!-- <xsl:value-of select="$weblogic-ql"/>
                        -->
                        <!-- select
                        -->
                        <xsl:if test="contains($weblogic-ql, 'SELECT')">
                        <xsl:element name="select" />
                        </xsl:if>
                        <xsl:if test="contains($weblogic-ql, 'FROM')">
                        <xsl:element name="from" />
                        </xsl:if>
                        <xsl:if test="contains($weblogic-ql, 'WHERE')">
                        <xsl:element name="where" />
                        </xsl:if>
                        <xsl:if test="contains($weblogic-ql, 'ORDER')">
                        <xsl:element name="order" />
                        </xsl:if>
                        </xsl:element>
                        <!-- declared-sql
                        -->
                        </xsl:template>
                        <!-- declared-sql
                        -->
                        <!--
                        | Template to generate load-group element


                        -->
                        <xsl:template name="load-group">
                        <!-- template parameters
                        -->
                        <xsl:param name="field-group" />
                        <!-- load-group
                        -->
                        <xsl:element name="load-group">
                        <!-- load-group-name
                        -->
                        <xsl:element name="load-group-name">
                        <xsl:value-of select="$field-group/group-name" />
                        </xsl:element>
                        <!-- load-group-name
                        -->
                        <!-- field-name
                        -->
                        <xsl:for-each select="$field-group/cmp-field | $field-group/cmr-field">
                        <!-- field-name
                        -->
                        <xsl:element name="field-name">
                        <xsl:value-of select="." />
                        </xsl:element>
                        <!-- field-name
                        -->
                        </xsl:for-each>
                        <!-- cmp-field
                        -->
                        </xsl:element>
                        <!-- load-group
                        -->
                        </xsl:template>
                        <!-- load-group
                        -->
                        <!--
                        | Template to generate cmp-field element


                        -->
                        <xsl:template name="cmp-field">
                        <!-- template parameters
                        -->
                        <xsl:param name="field-map" />
                        <!-- cmp-field
                        -->
                        <xsl:element name="cmp-field">
                        <!-- field-name
                        -->
                        <xsl:element name="field-name">
                        <xsl:value-of select="$field-map/cmp-field" />
                        </xsl:element>
                        <!-- field-name
                        -->
                        <!-- column-name
                        -->
                        <xsl:element name="column-name">
                        <xsl:value-of select="$field-map/dbms-column" />
                        </xsl:element>
                        <!-- column-name
                        -->
                        </xsl:element>
                        <!-- cmp-field
                        -->
                        </xsl:template>
                        <!-- cmp-field
                        -->
                        <!--
                        | Template to generate create-table element


                        -->
                        <xsl:template name="create-table">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- create-table
                        -->
                        <xsl:element name="create-table">
                        <xsl:choose>
                        <xsl:when test="$weblogic-rdbms-jar[(create-default-dbms-tables='true') or (create-default-dbms-tables='True')]">
                        <xsl:text>true</xsl:text>
                        </xsl:when>
                        <xsl:otherwise>
                        <xsl:text>false</xsl:text>
                        </xsl:otherwise>
                        </xsl:choose>
                        </xsl:element>
                        <!-- create-table
                        -->
                        </xsl:template>
                        <!-- create-table
                        -->
                        <!--
                        | Template to generate remove-table element
                        | note: remove-table and create-table has the same value


                        -->
                        <xsl:template name="remove-table">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- remove-table
                        -->
                        <xsl:element name="remove-table">
                        <xsl:choose>
                        <xsl:when test="$weblogic-rdbms-jar[(create-default-dbms-tables='true') or (create-default-dbms-tables='True')]">
                        <xsl:text>true</xsl:text>
                        </xsl:when>
                        <xsl:otherwise>
                        <xsl:text>false</xsl:text>
                        </xsl:otherwise>
                        </xsl:choose>
                        </xsl:element>
                        <!-- remove-table
                        -->
                        </xsl:template>
                        <!-- remove-table
                        -->
                        <!--
                        | Template to generate relationships element


                        -->
                        <xsl:template name="relationships">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- relationships
                        -->
                        <xsl:element name="relationships">
                        <xsl:for-each select="$weblogic-rdbms-jar/weblogic-rdbms-relation">
                        <!-- ejb-relation
                        -->
                        <xsl:element name="ejb-relation">
                        <!-- ejb-relation-name
                        -->
                        <xsl:element name="ejb-relation-name">
                        <xsl:value-of select="./relation-name" />
                        </xsl:element>
                        <!-- ejb-relation-name
                        -->
                        <!--
                        if table-name then relation-table-mapping
                        else foreign-key-mapping


                        -->
                        <xsl:choose>
                        <xsl:when test="./table-name">
                        <!-- relation-table-mapping
                        -->
                        <xsl:element name="relation-table-mapping">
                        <!-- table-name
                        -->
                        <xsl:element name="table-name">
                        <xsl:value-of select="./table-name" />
                        </xsl:element>
                        <!-- table-name
                        -->
                        <!-- create-table
                        -->
                        <xsl:call-template name="create-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- create-table
                        -->
                        <!-- remove-table
                        -->
                        <xsl:call-template name="remove-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- remove-table
                        -->
                        </xsl:element>
                        <!-- relation-table-mapping
                        -->
                        </xsl:when>
                        <!-- ./table-name
                        -->
                        <xsl:otherwise>
                        <!-- foreign-key-mapping
                        -->
                        <xsl:element name="foreign-key-mapping" />
                        </xsl:otherwise>
                        </xsl:choose>
                        <xsl:choose>
                        <!-- relationship table mapping
                        -->
                        <xsl:when test="count(./weblogic-relationship-role) = 2">
                        <!-- ejb-relationship-role
                        -->
                        <xsl:for-each select="./weblogic-relationship-role">
                        <xsl:call-template name="ejb-relationship-role">
                        <xsl:with-param name="weblogic-relationship-role" select="." />
                        </xsl:call-template>
                        <!-- ejb-relationship-role
                        -->
                        </xsl:for-each>
                        <!-- weblogic-relationship-role
                        -->
                        </xsl:when>
                        <!-- foreign-key mapping
                        -->
                        <xsl:otherwise>
                        <!--
                        | for o2o and o2m WL specifies weblogic-relationship-role
                        | only for one side while jboss requires both and
                        | mapping is inverted


                        -->
                        <!-- init variables for simplicity
                        -->
                        <xsl:variable name="relationName" select="./relation-name" />
                        <xsl:variable name="firstRoleName" select="./weblogic-relationship-role/relationship-role-name" />
                        <!-- construct opposite ejb-relationship-role
                        -->
                        <xsl:element name="ejb-relationship-role">
                        <!-- find the opposite ejb-relationship-role-name in ejb-jar.xml
                        -->
                        <xsl:for-each select="document($ejb-jar)/ejb-jar/relationships/ejb-relation[ejb-relation-name=$relationName]">
                        <xsl:for-each select="./ejb-relationship-role[ejb-relationship-role-name!=$firstRoleName]">
                        <xsl:copy-of select="./ejb-relationship-role-name" />
                        </xsl:for-each>
                        </xsl:for-each>
                        <xsl:if test="./weblogic-relationship-role/column-map">
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields">
                        <xsl:for-each select="./weblogic-relationship-role/column-map">
                        <!-- key-field
                        -->
                        <xsl:call-template name="key-field">
                        <xsl:with-param name="column-map" select="." />
                        </xsl:call-template>
                        <!-- key-field
                        -->
                        </xsl:for-each>
                        <!-- column-map
                        -->
                        </xsl:element>
                        <!-- key-fields
                        -->
                        </xsl:if>
                        <!-- weblogic-relationship-role/column-map
                        -->
                        </xsl:element>
                        <!-- ejb-relationship-role
                        -->
                        <!-- construct first side of the relationship
                        -->
                        <xsl:element name="ejb-relationship-role">
                        <!-- ejb-relationship-role-name
                        -->
                        <xsl:element name="ejb-relationship-role-name">
                        <xsl:value-of select="$firstRoleName" />
                        </xsl:element>
                        <!-- ejb-relationship-role-name
                        -->
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields" />
                        </xsl:element>
                        <!-- ejb-relationship-role
                        -->
                        </xsl:otherwise>
                        </xsl:choose>
                        </xsl:element>
                        <!-- ejb-relation
                        -->
                        </xsl:for-each>
                        <!-- weblogic-rdbms-relation
                        -->
                        </xsl:element>
                        <!-- relationships
                        -->
                        </xsl:template>
                        <!-- relationships
                        -->
                        <!--
                        | Template to generate ejb-relationship-role element


                        -->
                        <xsl:template name="ejb-relationship-role">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-relationship-role" />
                        <!-- ejb-relationship-role
                        -->
                        <xsl:element name="ejb-relationship-role">
                        <!-- ejb-relationship-role-name
                        -->
                        <xsl:element name="ejb-relationship-role-name">
                        <xsl:value-of select="$weblogic-relationship-role/relationship-role-name" />
                        </xsl:element>
                        <!-- ejb-relationship-role-name
                        -->
                        <!-- key-fields
                        -->
                        <xsl:choose>
                        <!-- wl6.1 key fields mapping
                        -->
                        <xsl:when test="$weblogic-relationship-role/column-map">
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields">
                        <xsl:for-each select="$weblogic-relationship-role/column-map">
                        <!-- key-field
                        -->
                        <xsl:call-template name="key-field">
                        <xsl:with-param name="column-map" select="." />
                        </xsl:call-template>
                        <!-- key-field
                        -->
                        </xsl:for-each>
                        <!-- column-map
                        -->
                        </xsl:element>
                        <!-- key-fields
                        -->
                        </xsl:when>
                        <!-- wl7.0 key fields mapping
                        -->
                        <xsl:when test="$weblogic-relationship-role/relationship-role-map/column-map">
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields">
                        <xsl:for-each select="$weblogic-relationship-role/relationship-role-map/column-map">
                        <!-- key-field
                        -->
                        <xsl:call-template name="key-field">
                        <xsl:with-param name="column-map" select="." />
                        </xsl:call-template>
                        <!-- key-field
                        -->
                        </xsl:for-each>
                        <!-- column-map
                        -->
                        </xsl:element>
                        <!-- key-fields
                        -->
                        </xsl:when>
                        </xsl:choose>
                        <!-- read-ahead
                        -->
                        <!--
                        | mapped to on-find


                        -->
                        <xsl:if test="$weblogic-relationship-role/group-name">
                        <!-- read-ahead
                        -->
                        <xsl:element name="read-ahead">
                        <!-- strategy
                        -->
                        <xsl:element name="strategy">
                        <xsl:text>on-find</xsl:text>
                        </xsl:element>
                        <!-- strategy
                        -->
                        <!-- eager-load-group
                        -->
                        <xsl:element name="eager-load-group">
                        <xsl:value-of select="$weblogic-relationship-role/group-name" />
                        </xsl:element>
                        <!-- eager-load-group
                        -->
                        </xsl:element>
                        <!-- read-ahead
                        -->
                        </xsl:if>
                        </xsl:element>
                        <!-- ejb-relationship-role
                        -->
                        </xsl:template>
                        <!-- ejb-relationship-role
                        -->
                        <!--
                        | Template to generate key-field element


                        -->
                        <xsl:template name="key-field">
                        <!-- template parameters
                        -->
                        <xsl:param name="column-map" />
                        <!-- key-field
                        -->
                        <xsl:element name="key-field">
                        <!-- field-name
                        -->
                        <xsl:element name="field-name">
                        <xsl:value-of select="$column-map/key-column" />
                        </xsl:element>
                        <!-- field-name
                        -->
                        <!-- column-name
                        -->
                        <xsl:element name="column-name">
                        <xsl:value-of select="$column-map/foreign-key-column" />
                        </xsl:element>
                        <!-- coulmn-name
                        -->
                        </xsl:element>
                        <!-- key-field
                        -->
                        </xsl:template>
                        <!-- key-field
                        -->
                        </xsl:stylesheet>




                        <!-- ================================================================
                        -->
                        <!-- Stylesheet for weblogic-cmp-rdbms-jar.xml to jbosscmp-jdbc.xml
                        -->
                        <!-- transformation.
                        -->
                        <!-- Written by Alexey Loubyansky(loubyansky@ukr.net)
                        -->
                        <!-- ================================================================
                        -->
                        <!--
                        | ToDo & Notes:
                        | - standard WebLogic datasource type mapping table
                        | - based on default type mapping convert dbms-column-type element
                        | The element supported only for Oracle
                        | - review to check boolean values are handled in case insensitive way
                        | - datasource for relationship table isn't defined for now


                        -->
                        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
                        <!-- Global parameters
                        -->
                        <xsl:param name="ejb-jar">ejb-jar.xml</xsl:param>
                        <xsl:param name="standardjbosscmp-jdbc">standardjbosscmp-jdbc.xml</xsl:param>
                        <xsl:template match="/">
                        <!-- loop through all weblogic-rdbms-jar
                        -->
                        <!-- actually there must be only one element
                        -->
                        <xsl:for-each select="//weblogic-rdbms-jar">
                        <!-- jbosscmp-jdbc
                        -->
                        <xsl:element name="jbosscmp-jdbc">
                        <!-- defaults
                        -->
                        <xsl:call-template name="defaults">
                        <xsl:with-param name="weblogic-rdbms-jar" select="." />
                        </xsl:call-template>
                        <!-- defaults
                        -->
                        <!-- enterprise-beans
                        -->
                        <xsl:call-template name="enterprise-beans">
                        <xsl:with-param name="weblogic-rdbms-jar" select="." />
                        </xsl:call-template>
                        <!-- enterprise-beans
                        -->
                        <!-- relationships
                        -->
                        <xsl:if test="./weblogic-rdbms-relation">
                        <xsl:call-template name="relationships">
                        <xsl:with-param name="weblogic-rdbms-jar" select="." />
                        </xsl:call-template>
                        <!-- relationships
                        -->
                        </xsl:if>
                        </xsl:element>
                        <!-- jbosscmp-jdbc
                        -->
                        </xsl:for-each>
                        <!-- weblogic-rdbms-jar
                        -->
                        </xsl:template>
                        <!--
                        | Template to generate defaults element


                        -->
                        <xsl:template name="defaults">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- defaults
                        -->
                        <xsl:element name="defaults">
                        <!-- create-table
                        -->
                        <xsl:call-template name="create-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- create-table
                        -->
                        <!-- remove-table
                        -->
                        <xsl:call-template name="remove-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- remove-table
                        -->
                        </xsl:element>
                        <!-- defaults
                        -->
                        </xsl:template>
                        <!-- defaults
                        -->
                        <!--
                        | Template to generate enterprise-beans element


                        -->
                        <xsl:template name="enterprise-beans">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- enterprise-beans
                        -->
                        <xsl:element name="enterprise-beans">
                        <xsl:for-each select="$weblogic-rdbms-jar/weblogic-rdbms-bean">
                        <xsl:call-template name="entity">
                        <xsl:with-param name="weblogic-rdbms-bean" select="." />
                        </xsl:call-template>
                        <!-- enitity
                        -->
                        </xsl:for-each>
                        <!-- weblogic-rdbms-bean
                        -->
                        </xsl:element>
                        <!-- enterprise-beans
                        -->
                        </xsl:template>
                        <!-- enterprise-beans
                        -->
                        <!--
                        | Template to generate entity element


                        -->
                        <xsl:template name="entity">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-bean" />
                        <!-- entity
                        -->
                        <xsl:element name="entity">
                        <!-- ejb-name
                        -->
                        <xsl:copy-of select="$weblogic-rdbms-bean/ejb-name" />
                        <!-- datasource
                        -->
                        <!--
                        | data-source-name is required element in weblogic-cmp-rdbms-jar.xml
                        | so there is no need to verify its existence


                        -->
                        <xsl:element name="datasource">
                        <xsl:value-of select="$weblogic-rdbms-bean/data-source-name" />
                        </xsl:element>
                        <!-- datasource
                        -->
                        <!-- datasource-mapping
                        -->
                        <!--
                        | datasource-mapping must present if datasource does
                        | I don't know how WL does mapping. I've found only java to sql
                        | types for oracle.
                        | For now the solution is:
                        | - check whether datasource is the same as in defaults in
                        | standardjbosscmp-jdbc.xml. Then take the corresponding
                        | datasource-mapping value from defaults
                        | - if not, take the datasource value, throw away 'java:/' and use
                        | the tail as a datasource-mapping.


                        -->
                        <!-- datasource-mapping
                        -->
                        <xsl:choose>
                        <xsl:when test="document($standardjbosscmp-jdbc)/jbosscmp-jdbc/defaults[datasource=$weblogic-rdbms-bean/data-source-name]">
                        <xsl:copy-of select="document($standardjbosscmp-jdbc)/jbosscmp-jdbc/defaults/datasource-mapping" />
                        </xsl:when>
                        <xsl:otherwise>
                        <xsl:element name="datasource-mapping">
                        <xsl:value-of select="substring-after($weblogic-rdbms-bean/data-source-name, 'java:/')" />
                        </xsl:element>
                        <!-- datasource-mapping
                        -->
                        </xsl:otherwise>
                        </xsl:choose>
                        <!-- table-name
                        -->
                        <!--
                        | table-name is required in weblogic-rdbms-bean


                        -->
                        <xsl:copy-of select="$weblogic-rdbms-bean/table-name" />
                        <!-- cmp-field
                        -->
                        <xsl:for-each select="$weblogic-rdbms-bean/field-map">
                        <xsl:call-template name="cmp-field">
                        <xsl:with-param name="field-map" select="." />
                        </xsl:call-template>
                        <!-- cmp-field
                        -->
                        </xsl:for-each>
                        <!-- field-map
                        -->
                        <!-- load-groups
                        -->
                        <xsl:if test="$weblogic-rdbms-bean/field-group">
                        <!-- load-groups
                        -->
                        <xsl:element name="load-groups">
                        <xsl:for-each select="$weblogic-rdbms-bean/field-group">
                        <xsl:call-template name="load-group">
                        <!-- load-group
                        -->
                        <xsl:with-param name="field-group" select="." />
                        </xsl:call-template>
                        <!-- load-groups
                        -->
                        </xsl:for-each>
                        <!-- field-group
                        -->
                        </xsl:element>
                        <!-- load-groups
                        -->
                        </xsl:if>
                        <!-- queries
                        -->
                        <xsl:for-each select="$weblogic-rdbms-bean/weblogic-query">
                        <xsl:call-template name="query">
                        <xsl:with-param name="weblogic-query" select="." />
                        </xsl:call-template>
                        <!-- query
                        -->
                        </xsl:for-each>
                        </xsl:element>
                        <!-- entity
                        -->
                        </xsl:template>
                        <!-- entity
                        -->
                        <!--
                        | Template to generate query element


                        -->
                        <xsl:template name="query">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-query" />
                        <!-- query
                        -->
                        <xsl:element name="query">
                        <xsl:copy-of select="$weblogic-query/description" />
                        <xsl:copy-of select="$weblogic-query/query-method" />
                        <!--
                        | for now all queries are copied


                        -->
                        <!-- jboss-ql
                        -->
                        <xsl:element name="jboss-ql">
                        <xsl:value-of select="$weblogic-query/weblogic-ql" />
                        </xsl:element>
                        <!-- jboss-ql
                        -->
                        </xsl:element>
                        <!-- query
                        -->
                        </xsl:template>
                        <!-- query
                        -->
                        <!--
                        | Template to generate declared-sql


                        -->
                        <xsl:template name="declared-sql">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-ql" />
                        <!-- declared-sql
                        -->
                        <xsl:element name="declared-sql">
                        <!-- <xsl:value-of select="$weblogic-ql"/>
                        -->
                        <!-- select
                        -->
                        <xsl:if test="contains($weblogic-ql, 'SELECT')">
                        <xsl:element name="select" />
                        </xsl:if>
                        <xsl:if test="contains($weblogic-ql, 'FROM')">
                        <xsl:element name="from" />
                        </xsl:if>
                        <xsl:if test="contains($weblogic-ql, 'WHERE')">
                        <xsl:element name="where" />
                        </xsl:if>
                        <xsl:if test="contains($weblogic-ql, 'ORDER')">
                        <xsl:element name="order" />
                        </xsl:if>
                        </xsl:element>
                        <!-- declared-sql
                        -->
                        </xsl:template>
                        <!-- declared-sql
                        -->
                        <!--
                        | Template to generate load-group element


                        -->
                        <xsl:template name="load-group">
                        <!-- template parameters
                        -->
                        <xsl:param name="field-group" />
                        <!-- load-group
                        -->
                        <xsl:element name="load-group">
                        <!-- load-group-name
                        -->
                        <xsl:element name="load-group-name">
                        <xsl:value-of select="$field-group/group-name" />
                        </xsl:element>
                        <!-- load-group-name
                        -->
                        <!-- field-name
                        -->
                        <xsl:for-each select="$field-group/cmp-field | $field-group/cmr-field">
                        <!-- field-name
                        -->
                        <xsl:element name="field-name">
                        <xsl:value-of select="." />
                        </xsl:element>
                        <!-- field-name
                        -->
                        </xsl:for-each>
                        <!-- cmp-field
                        -->
                        </xsl:element>
                        <!-- load-group
                        -->
                        </xsl:template>
                        <!-- load-group
                        -->
                        <!--
                        | Template to generate cmp-field element


                        -->
                        <xsl:template name="cmp-field">
                        <!-- template parameters
                        -->
                        <xsl:param name="field-map" />
                        <!-- cmp-field
                        -->
                        <xsl:element name="cmp-field">
                        <!-- field-name
                        -->
                        <xsl:element name="field-name">
                        <xsl:value-of select="$field-map/cmp-field" />
                        </xsl:element>
                        <!-- field-name
                        -->
                        <!-- column-name
                        -->
                        <xsl:element name="column-name">
                        <xsl:value-of select="$field-map/dbms-column" />
                        </xsl:element>
                        <!-- column-name
                        -->
                        </xsl:element>
                        <!-- cmp-field
                        -->
                        </xsl:template>
                        <!-- cmp-field
                        -->
                        <!--
                        | Template to generate create-table element


                        -->
                        <xsl:template name="create-table">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- create-table
                        -->
                        <xsl:element name="create-table">
                        <xsl:choose>
                        <xsl:when test="$weblogic-rdbms-jar[(create-default-dbms-tables='true') or (create-default-dbms-tables='True')]">
                        <xsl:text>true</xsl:text>
                        </xsl:when>
                        <xsl:otherwise>
                        <xsl:text>false</xsl:text>
                        </xsl:otherwise>
                        </xsl:choose>
                        </xsl:element>
                        <!-- create-table
                        -->
                        </xsl:template>
                        <!-- create-table
                        -->
                        <!--
                        | Template to generate remove-table element
                        | note: remove-table and create-table has the same value


                        -->
                        <xsl:template name="remove-table">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- remove-table
                        -->
                        <xsl:element name="remove-table">
                        <xsl:choose>
                        <xsl:when test="$weblogic-rdbms-jar[(create-default-dbms-tables='true') or (create-default-dbms-tables='True')]">
                        <xsl:text>true</xsl:text>
                        </xsl:when>
                        <xsl:otherwise>
                        <xsl:text>false</xsl:text>
                        </xsl:otherwise>
                        </xsl:choose>
                        </xsl:element>
                        <!-- remove-table
                        -->
                        </xsl:template>
                        <!-- remove-table
                        -->
                        <!--
                        | Template to generate relationships element


                        -->
                        <xsl:template name="relationships">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-rdbms-jar" />
                        <!-- relationships
                        -->
                        <xsl:element name="relationships">
                        <xsl:for-each select="$weblogic-rdbms-jar/weblogic-rdbms-relation">
                        <!-- ejb-relation
                        -->
                        <xsl:element name="ejb-relation">
                        <!-- ejb-relation-name
                        -->
                        <xsl:element name="ejb-relation-name">
                        <xsl:value-of select="./relation-name" />
                        </xsl:element>
                        <!-- ejb-relation-name
                        -->
                        <!--
                        if table-name then relation-table-mapping
                        else foreign-key-mapping


                        -->
                        <xsl:choose>
                        <xsl:when test="./table-name">
                        <!-- relation-table-mapping
                        -->
                        <xsl:element name="relation-table-mapping">
                        <!-- table-name
                        -->
                        <xsl:element name="table-name">
                        <xsl:value-of select="./table-name" />
                        </xsl:element>
                        <!-- table-name
                        -->
                        <!-- create-table
                        -->
                        <xsl:call-template name="create-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- create-table
                        -->
                        <!-- remove-table
                        -->
                        <xsl:call-template name="remove-table">
                        <xsl:with-param name="weblogic-rdbms-jar" select="$weblogic-rdbms-jar" />
                        </xsl:call-template>
                        <!-- remove-table
                        -->
                        </xsl:element>
                        <!-- relation-table-mapping
                        -->
                        </xsl:when>
                        <!-- ./table-name
                        -->
                        <xsl:otherwise>
                        <!-- foreign-key-mapping
                        -->
                        <xsl:element name="foreign-key-mapping" />
                        </xsl:otherwise>
                        </xsl:choose>
                        <xsl:choose>
                        <!-- relationship table mapping
                        -->
                        <xsl:when test="count(./weblogic-relationship-role) = 2">
                        <!-- ejb-relationship-role
                        -->
                        <xsl:for-each select="./weblogic-relationship-role">
                        <xsl:call-template name="ejb-relationship-role">
                        <xsl:with-param name="weblogic-relationship-role" select="." />
                        </xsl:call-template>
                        <!-- ejb-relationship-role
                        -->
                        </xsl:for-each>
                        <!-- weblogic-relationship-role
                        -->
                        </xsl:when>
                        <!-- foreign-key mapping
                        -->
                        <xsl:otherwise>
                        <!--
                        | for o2o and o2m WL specifies weblogic-relationship-role
                        | only for one side while jboss requires both and
                        | mapping is inverted


                        -->
                        <!-- init variables for simplicity
                        -->
                        <xsl:variable name="relationName" select="./relation-name" />
                        <xsl:variable name="firstRoleName" select="./weblogic-relationship-role/relationship-role-name" />
                        <!-- construct opposite ejb-relationship-role
                        -->
                        <xsl:element name="ejb-relationship-role">
                        <!-- find the opposite ejb-relationship-role-name in ejb-jar.xml
                        -->
                        <xsl:for-each select="document($ejb-jar)/ejb-jar/relationships/ejb-relation[ejb-relation-name=$relationName]">
                        <xsl:for-each select="./ejb-relationship-role[ejb-relationship-role-name!=$firstRoleName]">
                        <xsl:copy-of select="./ejb-relationship-role-name" />
                        </xsl:for-each>
                        </xsl:for-each>
                        <xsl:if test="./weblogic-relationship-role/column-map">
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields">
                        <xsl:for-each select="./weblogic-relationship-role/column-map">
                        <!-- key-field
                        -->
                        <xsl:call-template name="key-field">
                        <xsl:with-param name="column-map" select="." />
                        </xsl:call-template>
                        <!-- key-field
                        -->
                        </xsl:for-each>
                        <!-- column-map
                        -->
                        </xsl:element>
                        <!-- key-fields
                        -->
                        </xsl:if>
                        <!-- weblogic-relationship-role/column-map
                        -->
                        </xsl:element>
                        <!-- ejb-relationship-role
                        -->
                        <!-- construct first side of the relationship
                        -->
                        <xsl:element name="ejb-relationship-role">
                        <!-- ejb-relationship-role-name
                        -->
                        <xsl:element name="ejb-relationship-role-name">
                        <xsl:value-of select="$firstRoleName" />
                        </xsl:element>
                        <!-- ejb-relationship-role-name
                        -->
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields" />
                        </xsl:element>
                        <!-- ejb-relationship-role
                        -->
                        </xsl:otherwise>
                        </xsl:choose>
                        </xsl:element>
                        <!-- ejb-relation
                        -->
                        </xsl:for-each>
                        <!-- weblogic-rdbms-relation
                        -->
                        </xsl:element>
                        <!-- relationships
                        -->
                        </xsl:template>
                        <!-- relationships
                        -->
                        <!--
                        | Template to generate ejb-relationship-role element


                        -->
                        <xsl:template name="ejb-relationship-role">
                        <!-- template parameters
                        -->
                        <xsl:param name="weblogic-relationship-role" />
                        <!-- ejb-relationship-role
                        -->
                        <xsl:element name="ejb-relationship-role">
                        <!-- ejb-relationship-role-name
                        -->
                        <xsl:element name="ejb-relationship-role-name">
                        <xsl:value-of select="$weblogic-relationship-role/relationship-role-name" />
                        </xsl:element>
                        <!-- ejb-relationship-role-name
                        -->
                        <!-- key-fields
                        -->
                        <xsl:choose>
                        <!-- wl6.1 key fields mapping
                        -->
                        <xsl:when test="$weblogic-relationship-role/column-map">
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields">
                        <xsl:for-each select="$weblogic-relationship-role/column-map">
                        <!-- key-field
                        -->
                        <xsl:call-template name="key-field">
                        <xsl:with-param name="column-map" select="." />
                        </xsl:call-template>
                        <!-- key-field
                        -->
                        </xsl:for-each>
                        <!-- column-map
                        -->
                        </xsl:element>
                        <!-- key-fields
                        -->
                        </xsl:when>
                        <!-- wl7.0 key fields mapping
                        -->
                        <xsl:when test="$weblogic-relationship-role/relationship-role-map/column-map">
                        <!-- key-fields
                        -->
                        <xsl:element name="key-fields">
                        <xsl:for-each select="$weblogic-relationship-role/relationship-role-map/column-map">
                        <!-- key-field
                        -->
                        <xsl:call-template name="key-field">
                        <xsl:with-param name="column-map" select="." />
                        </xsl:call-template>
                        <!-- key-field
                        -->
                        </xsl:for-each>
                        <!-- column-map
                        -->
                        </xsl:element>
                        <!-- key-fields
                        -->
                        </xsl:when>
                        </xsl:choose>
                        <!-- read-ahead
                        -->
                        <!--
                        | mapped to on-find


                        -->
                        <xsl:if test="$weblogic-relationship-role/group-name">
                        <!-- read-ahead
                        -->
                        <xsl:element name="read-ahead">
                        <!-- strategy
                        -->
                        <xsl:element name="strategy">
                        <xsl:text>on-find</xsl:text>
                        </xsl:element>
                        <!-- strategy
                        -->
                        <!-- eager-load-group
                        -->
                        <xsl:element name="eager-load-group">
                        <xsl:value-of select="$weblogic-relationship-role/group-name" />
                        </xsl:element>
                        <!-- eager-load-group
                        -->
                        </xsl:element>
                        <!-- read-ahead
                        -->
                        </xsl:if>
                        </xsl:element>
                        <!-- ejb-relationship-role
                        -->
                        </xsl:template>
                        <!-- ejb-relationship-role
                        -->
                        <!--
                        | Template to generate key-field element


                        -->
                        <xsl:template name="key-field">
                        <!-- template parameters
                        -->
                        <xsl:param name="column-map" />
                        <!-- key-field
                        -->
                        <xsl:element name="key-field">
                        <!-- field-name
                        -->
                        <xsl:element name="field-name">
                        <xsl:value-of select="$column-map/key-column" />
                        </xsl:element>
                        <!-- field-name
                        -->
                        <!-- column-name
                        -->
                        <xsl:element name="column-name">
                        <xsl:value-of select="$column-map/foreign-key-column" />
                        </xsl:element>
                        <!-- coulmn-name
                        -->
                        </xsl:element>
                        <!-- key-field
                        -->
                        </xsl:template>
                        <!-- key-field
                        -->
                        </xsl:stylesheet>


                        <?xml version = "1.0" encoding = "UTF-8"?>

                        <!-- ===================================================================== -->
                        <!-- -->
                        <!-- Standard JBoss Configuration -->
                        <!-- -->
                        <!-- ===================================================================== -->

                        <!-- $Id: standardjboss.xml,v 1.37.2.6 2002/07/14 18:28:42 starksm Exp $ -->
                        <jboss>
                        <enforce-ejb-restrictions>false</enforce-ejb-restrictions>
                        <container-configurations>
                        <container-configuration>
                        <container-name>Standard CMP 2.x EntityBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactory</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityCreationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityInstanceInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntitySynchronizationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        <list-entity>
                        <interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </list-entity>
                        </client-interceptors>
                        <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
                        <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
                        <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
                        <container-cache-conf>
                        <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
                        <cache-policy-conf>
                        <min-capacity>50</min-capacity>
                        <max-capacity>1000000</max-capacity>
                        <overager-period>300</overager-period>
                        <max-bean-age>600</max-bean-age>
                        <resizer-period>400</resizer-period>
                        <max-cache-miss-period>60</max-cache-miss-period>
                        <min-cache-miss-period>1</min-cache-miss-period>
                        <cache-load-factor>0.75</cache-load-factor>
                        </cache-policy-conf>
                        </container-cache-conf>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        <commit-option>B</commit-option>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Instance Per Transaction CMP 2.x EntityBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactory</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityCreationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityMultiInstanceInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityMultiInstanceSynchronizationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        <list-entity>
                        <interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </list-entity>
                        </client-interceptors>
                        <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
                        <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
                        <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <locking-policy>org.jboss.ejb.plugins.lock.MethodOnlyEJBLock</locking-policy>
                        <container-cache-conf>
                        <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
                        <cache-policy-conf>
                        <min-capacity>50</min-capacity>
                        <max-capacity>1000000</max-capacity>
                        <overager-period>300</overager-period>
                        <max-bean-age>600</max-bean-age>
                        <resizer-period>400</resizer-period>
                        <max-cache-miss-period>60</max-cache-miss-period>
                        <min-cache-miss-period>1</min-cache-miss-period>
                        <cache-load-factor>0.75</cache-load-factor>
                        </cache-policy-conf>
                        </container-cache-conf>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        <commit-option>B</commit-option>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Standard CMP EntityBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactory</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityCreationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityInstanceInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntitySynchronizationInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        <list-entity>
                        <interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </list-entity>
                        </client-interceptors>
                        <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
                        <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
                        <persistence-manager>org.jboss.ejb.plugins.jaws.JAWSPersistenceManager</persistence-manager>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
                        <container-cache-conf>
                        <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
                        <cache-policy-conf>
                        <min-capacity>50</min-capacity>
                        <max-capacity>1000000</max-capacity>
                        <overager-period>300</overager-period>
                        <max-bean-age>600</max-bean-age>
                        <resizer-period>400</resizer-period>
                        <max-cache-miss-period>60</max-cache-miss-period>
                        <min-cache-miss-period>1</min-cache-miss-period>
                        <cache-load-factor>0.75</cache-load-factor>
                        </cache-policy-conf>
                        </container-cache-conf>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        <commit-option>A</commit-option>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Clustered CMP 2.x EntityBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactoryHA</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.CleanShutdownInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityCreationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityInstanceInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntitySynchronizationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        <list-entity>
                        <interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </list-entity>
                        </client-interceptors>
                        <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
                        <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
                        <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
                        <container-cache-conf>
                        <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
                        <cache-policy-conf>
                        <min-capacity>50</min-capacity>
                        <max-capacity>1000000</max-capacity>
                        <overager-period>300</overager-period>
                        <max-bean-age>600</max-bean-age>
                        <resizer-period>400</resizer-period>
                        <max-cache-miss-period>60</max-cache-miss-period>
                        <min-cache-miss-period>1</min-cache-miss-period>
                        <cache-load-factor>0.75</cache-load-factor>
                        </cache-policy-conf>
                        </container-cache-conf>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        <commit-option>B</commit-option>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Clustered CMP EntityBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactoryHA</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.CleanShutdownInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityCreationInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntityInstanceInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.EntitySynchronizationInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        <list-entity>
                        <interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </list-entity>
                        </client-interceptors>
                        <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
                        <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
                        <persistence-manager>org.jboss.ejb.plugins.jaws.JAWSPersistenceManager</persistence-manager>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
                        <container-cache-conf>
                        <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
                        <cache-policy-conf>
                        <min-capacity>50</min-capacity>
                        <max-capacity>1000000</max-capacity>
                        <overager-period>300</overager-period>
                        <max-bean-age>600</max-bean-age>
                        <resizer-period>400</resizer-period>
                        <max-cache-miss-period>60</max-cache-miss-period>
                        <min-cache-miss-period>1</min-cache-miss-period>
                        <cache-load-factor>0.75</cache-load-factor>
                        </cache-policy-conf>
                        </container-cache-conf>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        <commit-option>B</commit-option>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Standard Stateless SessionBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactory</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        <!-- CMT -->

                        <interceptor transaction = "Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor transaction = "Container" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor transaction = "Container">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor>
                        <!-- BMT -->

                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor>
                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor>
                        <interceptor transaction = "Bean" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.StatelessSessionInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        </client-interceptors>
                        <instance-pool>org.jboss.ejb.plugins.StatelessSessionInstancePool</instance-pool>
                        <instance-cache/>
                        <persistence-manager/>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Clustered Stateless SessionBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactoryHA</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.CleanShutdownInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        <!-- CMT -->

                        <interceptor transaction = "Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor transaction = "Container" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor transaction = "Container">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor>
                        <!-- BMT -->

                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor>
                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor>
                        <interceptor transaction = "Bean" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.StatelessSessionInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        </client-interceptors>
                        <instance-pool>org.jboss.ejb.plugins.StatelessSessionInstancePool</instance-pool>
                        <instance-cache/>
                        <persistence-manager/>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Standard Stateful SessionBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactory</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <!-- CMT -->

                        <interceptor transaction = "Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor transaction = "Container" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor transaction = "Container">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor>
                        <!-- BMT -->

                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor>
                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor>
                        <interceptor transaction = "Bean" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.StatefulSessionInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        </client-interceptors>
                        <instance-cache>org.jboss.ejb.plugins.StatefulSessionInstanceCache</instance-cache>
                        <persistence-manager>org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager</persistence-manager>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <container-cache-conf>
                        <cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy</cache-policy>
                        <cache-policy-conf>
                        <min-capacity>50</min-capacity>
                        <max-capacity>1000000</max-capacity>
                        <remover-period>1800</remover-period>
                        <max-bean-life>1800</max-bean-life>
                        <overager-period>300</overager-period>
                        <max-bean-age>600</max-bean-age>
                        <resizer-period>400</resizer-period>
                        <max-cache-miss-period>60</max-cache-miss-period>
                        <min-cache-miss-period>1</min-cache-miss-period>
                        <cache-load-factor>0.75</cache-load-factor>
                        </cache-policy-conf>
                        </container-cache-conf>
                        <container-pool-conf>
                        <MaximumSize>100</MaximumSize>
                        </container-pool-conf>
                        </container-configuration>
                        <container-configuration>
                        <container-name>Clustered Stateful SessionBean</container-name>
                        <call-logging>false</call-logging>
                        <container-invoker>org.jboss.proxy.ejb.ProxyFactoryHA</container-invoker>
                        <container-interceptors>
                        <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.CleanShutdownInterceptor</interceptor>
                        <!-- CMT -->

                        <interceptor transaction = "Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
                        <interceptor transaction = "Container" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor transaction = "Container">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor>
                        <!-- BMT -->

                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor>
                        <interceptor transaction = "Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor>
                        <interceptor transaction = "Bean" metricsEnabled = "true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor> <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
                        <interceptor>org.jboss.ejb.plugins.StatefulHASessionSynchronisationInterceptor</interceptor>
                        </container-interceptors>
                        <client-interceptors>
                        <home>
                        <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </home>
                        <bean>
                        <interceptor>org.jboss.proxy.ejb.StatefulSessionInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
                        <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
                        <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
                        </bean>
                        </client-interceptors>
                        <instance-cache>org.jboss.ejb.plugins.StatefulSessionInstanceCache</instance-cache>
                        <persistence-manager>org.jboss.ejb.plugins.StatefulHASessionPersistenceManager</persistence-manager>
                        <transaction-manager>org.jboss.tm.TxManager</transaction-manager>
                        <container-cache-conf>
                        <cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy</cache-policy>
                        <cache-policy-conf>
                        <min-capacity>50</min-capacity>
                        <max-capacity>1000000</max-capacity>
                        <remover-period>1800</remover-period>
                        <max-bean-life>1800</max-bean-life>
                        <overager-period>300</overager-period>
                        <max-bean-age>600</max-bean-age>
                        <resizer-period>400</resizer-period>
                        <max-cache-miss-period>60</max-cache-miss-period>
                        <min-cache-miss-period>1</min-cache-miss-period>
                        <cache-load-factor>0.75</cache-load-factor>
                        </cache-policy-conf>
                        </container-cache-conf


                        • 9. Re: WebLogic to JBoss migration - docs?
                          aneculau

                          Hi there,
                          I see the file listing is broken at the end. :-(
                          Could U put all the stuff zipped attached to message OR somewhere on the web and let us download it all please.
                          I think there is a LOT of potential interest from developers to ease the migration from WebLogic6.1 to JBoss - it would be nice to be expained somewhere nicely and in detail rather than starting doing it all by hand i.e. the hard way with all the lack of documentation about jboss.
                          thanks.
                          adrian

                          • 10. Re: WebLogic to JBoss migration - docs?
                            aneculau

                            Hi Sudhi
                            I started evaluating a possible (read imminent) migration of our application from WL6.1 to JBoss 3.
                            I found your message on the forums - thanks for the great info.
                            But anyways - how comes it worked without problems for you.
                            I tried the Xalan conversion commands, it works fine for converting weblogic-cmp-rdbms-jar.xml but it gives me bizzare errors while reading weblogic-ejb-jar.dtd from bea's site; here is the format of commands I issued:

                            c:\atmwork>java -cp C:\xalan-j_2_4_1\bin\xalan.jar org.apache.xalan.xslt.Process -INDENT 4 -in Sourc
                            e\java\com\atm\mplatform\ejb\group\weblogic-ejb-jar.xml -xsl weblogic-ejb-jar.xsl -out Source\java\c
                            om\atm\mplatform\ejb\group\jboss.xml

                            http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd; Line 314; Column 47; XSLT Error (javax.x
                            ml.transform.TransformerException): org.xml.sax.SAXParseException: The string "--" is not permitted
                            within comments.

                            I downloaded the abovementioned .dtd and looked at line 314 column 47 - there's nothing bizzare there; no trace of "--" characters - furthermore, if I retry it, it gives different line numbers almost each time.

                            If I retry the command several times, it finally works after 4-5 attempts, but it generates a jboss.xml which is incomplete (conversion is done for entity beans, but the session bean is completely neglected)...

                            Did you had any problems at all, and found a way to work around, or is it just me doing something wrong? I got the latest sources from 'varia' package struggling to put the pieces together, instead of the zipped jboss3.2.0beta - thought maybe latest versions of xsl files are better, but the errors are the same.
                            Any information would be greately appreciated.

                            thks
                            adrian

                            p.s. I read lots of good impressions about jboss, personally I never worked with it, but I definetely foresee LOTS of headakes in porting to jboss since my application uses session/CMPs and MDBs and also a custom RDBMS security realm that I will surely have to re-write for jboss, and who knows what other problems will pop up from the black magician hat...
                            Added to this, the obvious lack of documentation and the <<try/doesn't really work as described/retry/still doesn't work as described/try again>> cycles that will eat up lots of time, being the main reason for which I was looking for a tool to convert at least the DDs...

                            • 11. Re: WebLogic to JBoss migration - docs?
                              aneculau

                              hellllooo ?? anybody home?
                              no...
                              what was I thinking?? at the end, it's nothing but a freeware... even if it's a nice one let's be fair; so what to expect of it.
                              I imagine I'm gonna do everything by hand... which is OK too.

                              Anybody there having problems with this ?
                              <<<< echo from the empty forum: obleeemmm withhh thiss thisssss thisssss >>>>

                              • 12. Re: WebLogic to JBoss migration - docs?
                                flyshi

                                Hi,dear sir
                                Could you give me some advacne about how to migrating a web application from Jboss to Weblogic?
                                Thank you very much!
                                my mail was sxf@cssnet.com.cn