-
1. Re: WebLogic to JBoss migration - docs?
marvin Jul 18, 2002 5:19 AM (in response to philh)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 Jul 22, 2002 3:09 PM (in response to philh)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 Jul 22, 2002 10:11 PM (in response to philh)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 Aug 28, 2002 8:54 AM (in response to philh)Thanks I will give it a try.
-
5. Re: WebLogic to JBoss migration - docs?
jakasjava Aug 28, 2002 9:07 PM (in response to philh)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 Aug 30, 2002 6:43 AM (in response to philh)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 Sep 11, 2002 7:11 AM (in response to philh)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 Sep 11, 2002 8:35 PM (in response to philh)"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 Nov 24, 2002 10:30 PM (in response to philh)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 Nov 25, 2002 4:30 PM (in response to philh)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 Dec 9, 2002 5:12 PM (in response to philh)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 Dec 21, 2002 7:32 AM (in response to philh)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