geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dwo...@apache.org
Subject svn commit: r555843 [1/2] - in /geronimo/daytrader/trunk: ./ bin/dbscripts/db2/ bin/dbscripts/derby/ bin/dbscripts/oracle/ plans/
Date Fri, 13 Jul 2007 02:48:39 GMT
Author: dwoods
Date: Thu Jul 12 19:48:38 2007
New Revision: 555843

URL: http://svn.apache.org/viewvc?view=rev&rev=555843
Log:
DAYTRADER-46 Add dbscripts and deployment plans for DB2 and Oracle.  Updated README.  Updated createDerbyDB.bat to handle spaces in the path to Java.

Added:
    geronimo/daytrader/trunk/bin/dbscripts/db2/
    geronimo/daytrader/trunk/bin/dbscripts/db2/Table.ddl
    geronimo/daytrader/trunk/bin/dbscripts/oracle/
    geronimo/daytrader/trunk/bin/dbscripts/oracle/Table.ddl
    geronimo/daytrader/trunk/plans/dayTrader-db2-9.1-XA-plan.xml   (with props)
    geronimo/daytrader/trunk/plans/dayTrader-db2-plan.xml   (with props)
    geronimo/daytrader/trunk/plans/dayTrader-oracle-XA-plan.xml   (with props)
Removed:
    geronimo/daytrader/trunk/plans/db2-resource-plan.xml
    geronimo/daytrader/trunk/plans/jms-resource-plan.xml
Modified:
    geronimo/daytrader/trunk/README
    geronimo/daytrader/trunk/bin/dbscripts/derby/createDerbyDB.bat

Modified: geronimo/daytrader/trunk/README
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/README?view=diff&rev=555843&r1=555842&r2=555843
==============================================================================
--- geronimo/daytrader/trunk/README (original)
+++ geronimo/daytrader/trunk/README Thu Jul 12 19:48:38 2007
@@ -1,32 +1,93 @@
+(C) Copyright 2006,2007 The Apache Software Foundation.
+----------------------------------------------------------------------
+
 The code in this directory contains the code for the benchmark sample called Day Trader.  This sample was contributed by IBM to the Apache Geronimo project under the ASF license to further functional and performance testing of Geronimo.  
 
+
 BUILD
+-----
+To build the dayTrader EAR, you need to have Maven 2.0.5 or later installed.   This can be found at http://maven.apache.org.  Once installed you can build DayTrader by executing the following command from the dayTrader root directory (the directory containing this README).:
+
+        mvn install
+
+This should build the daytrader-ear-2.0-SNAPSHOT.ear in the modules/ear/target directory.
 
-To build the dayTrader EAR, install Maven 2 (2.0.2 was used at the time of this writing) and then type 'mvn install' or 'mvn package' from the dayTrader root directory (the directory containing this README).  See the Maven 2 documentation for more information on building with Maven 2.
+Note: You may have to run the build at least 6 times or more to get all of the prereq files, due to heavy load on the ibiblio or apache Maven repos servers.
 
-This should build the daytrader-ear-1.0-SNAPSHOT.ear in the modules/ear/target directory.
 
 INSTALL
+-------
+Before installing the EAR, you will need to create the database and populate the initial data into the database.  Make sure Geronimo is started and the GERONIMO_HOME environment variable is defined.
 
-Before installing the EAR, you will need to create the tradedb database.  First, make sure Geronimo is started.  Then cd into the derby directory. Make sure the GERONIMO_HOME environment variable is defined.  Run either createDB.bat (Windows) or createDB.sh (Unix). This will create the tradedb database and its tables.
+1. If you want to use the embedded Cloudscape database:
+   cd into the bin\dbscripts\derby directory.
+   Run the following that will create the "DaytraderDatabase" database and its tables:
+      createDerbyDB.[bat|sh]
+
+   To install the EAR, run the following from the dayTrader root directory:
+      ${GERONIMO_HOME}\bin\deploy.[bat|sh] deploy modules\ear\target\daytrader-ear-2.0-SNAPSHOT.ear plans\daytrader-g-2.0-SNAPSHOT-plan.xml
+
+
+2. If you want to use a DB2 database as a back-end database provider, please perform the following steps to deploy and execute the sample app:
+
+   1) Use the following set of instructions to create the Trade database tables:
+      a. Set up a database or reuse an existing database. For this example, a database called "tradedb" is used.
+      b. Create a user with a user name of trade and a password of trade.   Grant appropriate permissions to user trade.
+      c. Load the database schema for the trade user by running the following at the db2 command window:
+            db2 connect to tradedb
+            db2 -tvf bin\dbscripts\db2\Table.ddl
+      d. Grant these users privileges that allow the user to create tables and indexes within their respective schemas.
+
+   2) Use the TranQL DB2 vendor specific XA resource adapter, which should be built from source and placed in %GERONIMO_HOME%\repository\org\tranql\tranql-connector-db2-xa\{version}\tranql-connector-db2-xa-{version}.rar
+        -For DB2 v8.2 use dayTrader-db2-XA-plan.xml
+        -For DB2 v9.1, use dayTrader-db2-9.1-XA-plan.xml
+        -If you use a different level of DB2 JDBC driver than v8.2 or v9.1, then modify the DB2 JDBC driver version information within the dependency tags in dayTrader-db2-XA-plan.xml.  If your level of DB2 JDBC driver isn't provided in the repository, you'll also need to install it.
+        -Modify the selected XA resource adapter configuration plan above for your database environment. For example, update the following values - User, Password, PortNumber, DatabaseName, ServerName.
+        -Deploy daytrader-ear-2.0-SNAPSHOT.ear file using the admin console or command line deployer.
+         To use the command line deployer, from the Geronimo home directory, type:
+            ${GERONIMO_HOME}\bin\deploy.[bat|sh] deploy modules\ear\target\daytrader-ear-2.0-SNAPSHOT.ear plans\dayTrader-db2-XA-plan.xml
+
+
+3. If you want to use an Oracle database as a back-end database provider, please copy the ojdbc14.jar file from your oracle server to %GERONIMO_HOME%\repository\oracle\ojdbc14\10g and rename the ojdbc14.jar to a maven-recognizable format like ojdbc14-10g.jar.
+   Please perform the following steps to deploy and execute the sample app:
+
+   1) Use the following set of instructions to create the Trade database tables:
+      a. Set up a database or reuse an existing database. For this example, a database SID of tradedb is used.
+      b. Create a user with a user name of trade and a password of trade.   Grant appropriate permissions to user trade.
+      c. Load the database schema for the trade user by running the following command:
+            sqlplus trade/trade@tradedb @bin\dbscripts\oracle\Table.ddl
+      d. Grant these users privileges that allow the user to create tables and indexes within their respective schemas.
+
+   2) Modify the database resource adapter configuration to your database environment.   For example, UserName, Password, ConnectionURL.
+      Deploy daytrader-ear-2.0-SNAPSHOT.ear file using the admin console or command line deployer.
+      To use the command line deployer, from your Geronimo home directory, type:
+            ${GERONIMO_HOME}\bin\deploy.[bat|sh] deploy modules\ear\target\daytrader-ear-2.0-SNAPSHOT.ear plans\dayTrader-oracle-XA-plan.xml
 
-To install the EAR, run the following from the dayTrader root directory:
-${GERONIMO_HOME}\deploy.[bat|sh] deploy modules\ear\target\daytrader-ear-1.0-SNAPSHOT.ear dayTrader-plan.xml
+      NOTE: dayTrader-oracle-plan.xml is the daytrader deployment plan for oracle database.
+      You will need to change the dayTrader-oracle-plan.xml with your oracle userid and password if you don't use the same user/password as specified above.
 
-When the application starts, you may see exceptions such as "Error: TradeDirect:init -- error on JNDI lookups of DataSource -- TradeDirect will not work". You should be able to ignore these messages.
 
 RUN
-
-Access the dayTrader application at http://<hostname>:<port>/daytrader.  To begin trading, go to 'Configuration -> (Re)-populate Trade Database'. This creates the fictional users, stocks, prices, etc. in the database and may take a while.  After this you can go to 'Go Trade!' to begin trading.
+---
+Access the dayTrader application at http://<hostname>:<port>/daytrader.
+To begin trading, go to 'Configuration -> (Re)-populate Trade Database'.
+This creates a fictional set of users, stocks, prices, etc. in the database and may take a while.
+After this you can go to 'Go Trade!' to begin trading.
 
 There are two application clients you can run, the streamer client and web services client.  To run these (from the geronimo bin directory):
+   TradeStreamerAppClient:
+      java -jar client.jar tradeStreamerAppclient
+   wsappclient:
+      java -jar client.jar Trade/daytrader-wsappclient-2.0-SNAPSHOT
 
-TradeStreamerAppClient:
-java -jar client.jar tradeStreamerAppclient
 
-wsappclient:
-java -jar client.jar Trade/daytrader-wsappclient-1.0-SNAPSHOT
+UNINSTALL
+---------
+To uninstall daytrader, issue the following commands:
+        ${GERONIMO_HOME}\bin\deploy.[bat|sh] --user %user% --password %password% undeploy org.apache.geronimo.daytrader/daytrader/2.0-SNAPSHOT/car
 
-ACKNOWLEDGEMENTS
 
+ACKNOWLEDGEMENTS
+----------------
 Many thanks to Gianny Damour and David Jencks for helping to get the sample to its working state at this point.
+

Added: geronimo/daytrader/trunk/bin/dbscripts/db2/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/bin/dbscripts/db2/Table.ddl?view=auto&rev=555843
==============================================================================
--- geronimo/daytrader/trunk/bin/dbscripts/db2/Table.ddl (added)
+++ geronimo/daytrader/trunk/bin/dbscripts/db2/Table.ddl Thu Jul 12 19:48:38 2007
@@ -0,0 +1,108 @@
+--    Licensed to the Apache Software Foundation (ASF) under one or more
+--    contributor license agreements.  See the NOTICE file distributed with
+--    this work for additional information regarding copyright ownership.
+--    The ASF licenses this file to You under the Apache License, Version 2.0
+--    (the "License"); you may not use this file except in compliance with
+--    the License.  You may obtain a copy of the License at
+--
+--       http://www.apache.org/licenses/LICENSE-2.0
+--
+--    Unless required by applicable law or agreed to in writing, software
+--    distributed under the License is distributed on an "AS IS" BASIS,
+--    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+--    See the License for the specific language governing permissions and
+--    limitations under the License.
+
+
+DROP TABLE HOLDINGEJB;
+DROP TABLE ACCOUNTPROFILEEJB;
+DROP TABLE QUOTEEJB;
+DROP TABLE KEYGENEJB;
+DROP TABLE ACCOUNTEJB;
+DROP TABLE ORDEREJB;
+
+CREATE TABLE HOLDINGEJB
+  (PURCHASEPRICE DECIMAL(10, 2),
+   HOLDINGID INTEGER NOT NULL,
+   QUANTITY DOUBLE NOT NULL,
+   PURCHASEDATE TIMESTAMP,
+   ACCOUNT_ACCOUNTID INTEGER,
+   QUOTE_SYMBOL VARCHAR(250));
+
+ALTER TABLE HOLDINGEJB
+  ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+  (ADDRESS VARCHAR(250),
+   PASSWD VARCHAR(250),
+   USERID VARCHAR(250) NOT NULL,
+   EMAIL VARCHAR(250),
+   CREDITCARD VARCHAR(250),
+   FULLNAME VARCHAR(250));
+
+ALTER TABLE ACCOUNTPROFILEEJB
+  ADD CONSTRAINT PK_ACCOUNTPROFILE2 PRIMARY KEY (USERID);
+
+CREATE TABLE QUOTEEJB
+  (LOW DECIMAL(10, 2),
+   OPEN1 DECIMAL(10, 2),
+   VOLUME DOUBLE NOT NULL,
+   PRICE DECIMAL(10, 2),
+   HIGH DECIMAL(10, 2),
+   COMPANYNAME VARCHAR(250),
+   SYMBOL VARCHAR(250) NOT NULL,
+   CHANGE1 DOUBLE NOT NULL);
+
+ALTER TABLE QUOTEEJB
+  ADD CONSTRAINT PK_QUOTEEJB PRIMARY KEY (SYMBOL);
+
+CREATE TABLE KEYGENEJB
+  (KEYVAL INTEGER NOT NULL,
+   KEYNAME VARCHAR(250) NOT NULL);
+
+ALTER TABLE KEYGENEJB
+  ADD CONSTRAINT PK_KEYGENEJB PRIMARY KEY (KEYNAME);
+
+CREATE TABLE ACCOUNTEJB
+  (CREATIONDATE TIMESTAMP,
+   OPENBALANCE DECIMAL(10, 2),
+   LOGOUTCOUNT INTEGER NOT NULL,
+   BALANCE DECIMAL(10, 2),
+   ACCOUNTID INTEGER NOT NULL,
+   LASTLOGIN TIMESTAMP,
+   LOGINCOUNT INTEGER NOT NULL,
+   PROFILE_USERID VARCHAR(250));
+
+ALTER TABLE ACCOUNTEJB
+  ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+  (ORDERFEE DECIMAL(10, 2),
+   COMPLETIONDATE TIMESTAMP,
+   ORDERTYPE VARCHAR(250),
+   ORDERSTATUS VARCHAR(250),
+   PRICE DECIMAL(10, 2),
+   QUANTITY DOUBLE NOT NULL,
+   OPENDATE TIMESTAMP,
+   ORDERID INTEGER NOT NULL,
+   ACCOUNT_ACCOUNTID INTEGER,
+   QUOTE_SYMBOL VARCHAR(250),
+   HOLDING_HOLDINGID INTEGER);
+
+ALTER TABLE ORDEREJB
+  ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+ALTER TABLE HOLDINGEJB VOLATILE;
+ALTER TABLE ACCOUNTPROFILEEJB VOLATILE;
+ALTER TABLE QUOTEEJB VOLATILE;
+ALTER TABLE KEYGENEJB VOLATILE;
+ALTER TABLE ACCOUNTEJB VOLATILE;
+ALTER TABLE ORDEREJB VOLATILE;
+    
+CREATE INDEX a.profile_userid on accountejb(profile_userid);
+CREATE INDEX h.account_accountid on holdingejb(account_accountid);
+CREATE INDEX o.account_accountid on orderejb(account_accountid);
+CREATE INDEX o.holding_holdingid on orderejb(holding_holdingid);
+CREATE INDEX o.orderstatus on orderejb(orderstatus);
+CREATE INDEX o.ordertype on orderejb(ordertype);
+  
\ No newline at end of file

Modified: geronimo/daytrader/trunk/bin/dbscripts/derby/createDerbyDB.bat
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/bin/dbscripts/derby/createDerbyDB.bat?view=diff&rev=555843&r1=555842&r2=555843
==============================================================================
--- geronimo/daytrader/trunk/bin/dbscripts/derby/createDerbyDB.bat (original)
+++ geronimo/daytrader/trunk/bin/dbscripts/derby/createDerbyDB.bat Thu Jul 12 19:48:38 2007
@@ -34,7 +34,7 @@
 
 @echo "Invoking IJ command line tool to create the database and tables...please wait"
 
-%JAVA_HOME%\bin\java -Dij.driver=org.apache.derby.jdbc.ClientDriver -Dij.protocol=jdbc:derby://localhost:1527/ org.apache.derby.tools.ij < Table.ddl
+"%JAVA_HOME%\bin\java" -Dij.driver=org.apache.derby.jdbc.ClientDriver -Dij.protocol=jdbc:derby://localhost:1527/ org.apache.derby.tools.ij < Table.ddl
 
 @REM The following command launches the interactive ij command line utility
 @REM java -Dij.driver=org.apache.derby.jdbc.ClientDriver -Dij.protocol=jdbc:derby://localhost:1527/ org.apache.derby.tools.ij 

Added: geronimo/daytrader/trunk/bin/dbscripts/oracle/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/bin/dbscripts/oracle/Table.ddl?view=auto&rev=555843
==============================================================================
--- geronimo/daytrader/trunk/bin/dbscripts/oracle/Table.ddl (added)
+++ geronimo/daytrader/trunk/bin/dbscripts/oracle/Table.ddl Thu Jul 12 19:48:38 2007
@@ -0,0 +1,101 @@
+--    Licensed to the Apache Software Foundation (ASF) under one or more
+--    contributor license agreements.  See the NOTICE file distributed with
+--    this work for additional information regarding copyright ownership.
+--    The ASF licenses this file to You under the Apache License, Version 2.0
+--    (the "License"); you may not use this file except in compliance with
+--    the License.  You may obtain a copy of the License at
+--
+--       http://www.apache.org/licenses/LICENSE-2.0
+--
+--    Unless required by applicable law or agreed to in writing, software
+--    distributed under the License is distributed on an "AS IS" BASIS,
+--    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+--    See the License for the specific language governing permissions and
+--    limitations under the License.
+
+DROP TABLE HOLDINGEJB cascade constraints;
+DROP TABLE ACCOUNTPROFILEEJB cascade constraints;
+DROP TABLE QUOTEEJB cascade constraints;
+DROP TABLE KEYGENEJB cascade constraints;
+DROP TABLE ACCOUNTEJB cascade constraints;
+DROP TABLE ORDEREJB cascade constraints;
+
+
+CREATE TABLE HOLDINGEJB
+  (PURCHASEPRICE DECIMAL(10, 2) NULL,
+   HOLDINGID INTEGER NOT NULL,
+   QUANTITY NUMBER NOT NULL,
+   PURCHASEDATE DATE NULL,
+   ACCOUNT_ACCOUNTID INTEGER NULL,
+   QUOTE_SYMBOL VARCHAR2(250) NULL);
+
+ALTER TABLE HOLDINGEJB
+  ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+  (ADDRESS VARCHAR2(250) NULL,
+   PASSWD VARCHAR2(250) NULL,
+   USERID VARCHAR2(250) NOT NULL,
+   EMAIL VARCHAR2(250) NULL,
+   CREDITCARD VARCHAR2(250) NULL,
+   FULLNAME VARCHAR2(250) NULL);
+
+ALTER TABLE ACCOUNTPROFILEEJB
+  ADD CONSTRAINT PK_ACCOUNTPROFILEEJB PRIMARY KEY (USERID);
+
+CREATE TABLE QUOTEEJB
+  (LOW DECIMAL(10, 2) NULL,
+   OPEN1 DECIMAL(10, 2) NULL,
+   VOLUME NUMBER NOT NULL,
+   PRICE DECIMAL(10, 2) NULL,
+   HIGH DECIMAL(10, 2) NULL,
+   COMPANYNAME VARCHAR2(250) NULL,
+   SYMBOL VARCHAR2(250) NOT NULL,
+   CHANGE1 NUMBER NOT NULL);
+
+ALTER TABLE QUOTEEJB
+  ADD CONSTRAINT PK_QUOTEEJB PRIMARY KEY (SYMBOL);
+
+CREATE TABLE KEYGENEJB
+  (KEYVAL INTEGER NOT NULL,
+   KEYNAME VARCHAR2(250) NOT NULL);
+
+ALTER TABLE KEYGENEJB
+  ADD CONSTRAINT PK_KEYGENEJB PRIMARY KEY (KEYNAME);
+
+CREATE TABLE ACCOUNTEJB
+  (CREATIONDATE DATE NULL,
+   OPENBALANCE DECIMAL(10, 2) NULL,
+   LOGOUTCOUNT INTEGER NOT NULL,
+   BALANCE DECIMAL(10, 2) NULL,
+   ACCOUNTID INTEGER NOT NULL,
+   LASTLOGIN DATE NULL,
+   LOGINCOUNT INTEGER NOT NULL,
+   PROFILE_USERID VARCHAR2(250) NULL);
+
+ALTER TABLE ACCOUNTEJB
+  ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+  (ORDERFEE DECIMAL(10, 2) NULL,
+   COMPLETIONDATE DATE NULL,
+   ORDERTYPE VARCHAR2(250) NULL,
+   ORDERSTATUS VARCHAR2(250) NULL,
+   PRICE DECIMAL(10, 2) NULL,
+   QUANTITY NUMBER NOT NULL,
+   OPENDATE DATE NULL,
+   ORDERID INTEGER NOT NULL,
+   ACCOUNT_ACCOUNTID INTEGER NULL,
+   QUOTE_SYMBOL VARCHAR2(250) NULL,
+   HOLDING_HOLDINGID INTEGER NULL);
+
+ALTER TABLE ORDEREJB
+  ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+CREATE INDEX a_profile_userid on accountejb(profile_userid);
+CREATE INDEX h_account_accountid on holdingejb(account_accountid);
+CREATE INDEX o_account_accountid on orderejb(account_accountid);
+CREATE INDEX o_holding_holdingid on orderejb(holding_holdingid);
+CREATE INDEX o_orderstatus on orderejb(orderstatus);
+CREATE INDEX o_ordertype on orderejb(ordertype);
+  

Added: geronimo/daytrader/trunk/plans/dayTrader-db2-9.1-XA-plan.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/plans/dayTrader-db2-9.1-XA-plan.xml?view=auto&rev=555843
==============================================================================
--- geronimo/daytrader/trunk/plans/dayTrader-db2-9.1-XA-plan.xml (added)
+++ geronimo/daytrader/trunk/plans/dayTrader-db2-9.1-XA-plan.xml Thu Jul 12 19:48:38 2007
@@ -0,0 +1,782 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev: 555467 $ $Date: 2007-07-11 22:39:14 -0400 (Wed, 11 Jul 2007) $ -->
+
+<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.2">
+    <environment>
+        <moduleId>
+            <groupId>org.apache.geronimo.daytrader</groupId>
+            <artifactId>daytrader</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <type>car</type>
+        </moduleId>
+        <!--
+         **
+         ** The following section describes what other modules this application has dependencies on.  Since we will be 
+         ** accessing our tables using the internal Derby database we need the system-database dependency.  Also, JPA is 
+         ** used as a persistence mechanism so we have a dependency on the openjpa module as well.  
+         **
+         ** The dependency on Yoko is required but should be supplied by default.  This is just silly.
+        -->
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.geronimo.configs</groupId>
+                <artifactId>openjpa</artifactId>
+                <type>car</type>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.geronimo.configs</groupId>
+                <artifactId>j2ee-corba-yoko</artifactId>
+                <type>car</type>
+            </dependency>
+            <dependency>
+                <groupId>com.ibm.db2</groupId>
+                <artifactId>db2jcc</artifactId>
+                <version>9.1</version>
+                <type>jar</type>
+            </dependency>
+            <dependency>
+                <groupId>com.ibm.db2</groupId>
+                <artifactId>db2jcc_license_cu</artifactId>
+                <version>9.1</version>
+                <type>jar</type>
+            </dependency>
+        </dependencies>
+    </environment>
+
+    <module>
+        <web>web.war</web>
+        <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.2">
+            <service-ref>
+                <service-ref-name>service/Trade</service-ref-name>
+                <port>
+                    <port-name>TradeWSServices</port-name>
+                    <protocol>http</protocol>
+                    <host>localhost</host>
+                    <port>8080</port>
+                    <uri>/daytrader/services/TradeWSServices</uri>
+                </port>
+            </service-ref>
+        </web-app>
+    </module>
+
+
+    <!--
+    ##
+    ##  T r a d e E J B . j a r
+    ##  Module Definition
+    ##
+    ##
+    -->
+    <module>
+        <ejb>dt-ejb.jar</ejb>
+        <!--  Note this must match the -->
+        <openejb-jar xmlns="http://openejb.apache.org/xml/ns/openejb-jar-2.2">
+
+
+            <!--
+            ##
+            ##  C o n n e c t i o n  F a c t o r y  D e f i n i t i o n
+            ##
+            ##
+            ##
+            -->
+            <cmp-connection-factory>
+                <resource-link>jdbc/TradeDataSource</resource-link>
+            </cmp-connection-factory>
+
+            <enterprise-beans>
+                <session>
+                    <ejb-name>TradeEJB</ejb-name>
+                    <jndi-name>ejb/TradeEJB</jndi-name>
+                    <!-- resource-env-ref>
+                        <ref-name>jms/TradeBrokerQueue</ref-name>
+                        <message-destination-link>jms/TradeBrokerQueue</message-destination-link>
+                    </resource-env-ref -->
+                </session>
+                
+                <session>
+                    <ejb-name>TradeJPA</ejb-name>
+                    <persistence-context-ref>
+                        <persistence-context-ref-name>daytrader</persistence-context-ref-name>
+                        <persistence-unit-name>daytrader</persistence-unit-name>
+                        <persistence-context-type>Transactional</persistence-context-type>
+                    </persistence-context-ref>
+                </session>
+                
+                <session>
+                    <ejb-name>KeySequenceEJB</ejb-name>
+                    <jndi-name>ejb/KeySequenceEJB</jndi-name>
+                    <cache-size>100</cache-size>
+                </session>
+
+
+                <!--
+                ##
+                ##  H o l d i n g E J B
+                ##
+                -->
+                <entity>
+                    <ejb-name>HoldingEJB</ejb-name>
+                    <table-name>HOLDINGEJB</table-name>
+                    <cmp-field-mapping>
+                        <cmp-field-name>purchasePrice</cmp-field-name>
+                        <table-column>purchasePrice</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>holdingID</cmp-field-name>
+                        <table-column>holdingID</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>quantity</cmp-field-name>
+                        <table-column>quantity</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>purchaseDate</cmp-field-name>
+                        <table-column>purchaseDate</table-column>
+                    </cmp-field-mapping>
+                </entity>
+
+
+                <!--
+                ##
+                ##  A c c o u n t P r o f i l e E J B
+                ##
+                -->
+                <entity>
+                    <ejb-name>AccountProfileEJB</ejb-name>
+                    <table-name>AccountProfileEJB</table-name>
+                    <cmp-field-mapping>
+                        <cmp-field-name>address</cmp-field-name>
+                        <table-column>address</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>passwd</cmp-field-name>
+                        <table-column>passwd</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>userID</cmp-field-name>
+                        <table-column>userID</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>email</cmp-field-name>
+                        <table-column>email</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>creditCard</cmp-field-name>
+                        <table-column>creditCard</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>fullName</cmp-field-name>
+                        <table-column>fullName</table-column>
+                    </cmp-field-mapping>
+                </entity>
+
+
+                <!--
+                ##
+                ##  Q u o t e E J B
+                ##
+                -->
+                <entity>
+                    <ejb-name>QuoteEJB</ejb-name>
+                    <table-name>QuoteEJB</table-name>
+                    <cmp-field-mapping>
+                        <cmp-field-name>low</cmp-field-name>
+                        <table-column>low</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>open</cmp-field-name>
+                        <table-column>open1</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>volume</cmp-field-name>
+                        <table-column>volume</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>price</cmp-field-name>
+                        <table-column>price</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>high</cmp-field-name>
+                        <table-column>high</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>companyName</cmp-field-name>
+                        <table-column>companyName</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>symbol</cmp-field-name>
+                        <table-column>symbol</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>change</cmp-field-name>
+                        <table-column>change1</table-column>
+                    </cmp-field-mapping>
+                </entity>
+
+
+                <!--
+                ##
+                ##  K e y G e n E J B
+                ##
+                -->
+                <entity>
+                    <ejb-name>KeyGenEJB</ejb-name>
+                    <table-name>KeyGenEJB</table-name>
+                    <cmp-field-mapping>
+                        <cmp-field-name>keyVal</cmp-field-name>
+                        <table-column>keyVal</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>keyName</cmp-field-name>
+                        <table-column>keyName</table-column>
+                    </cmp-field-mapping>
+                </entity>
+
+
+                <!--
+                ##
+                ##  A c c o u n t E J B
+                ##
+                -->
+                <entity>
+                    <ejb-name>AccountEJB</ejb-name>
+                    <table-name>AccountEJB</table-name>
+                    <cmp-field-mapping>
+                        <cmp-field-name>creationDate</cmp-field-name>
+                        <table-column>creationDate</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>openBalance</cmp-field-name>
+                        <table-column>openBalance</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>logoutCount</cmp-field-name>
+                        <table-column>logoutCount</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>balance</cmp-field-name>
+                        <table-column>balance</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>accountID</cmp-field-name>
+                        <table-column>accountID</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>lastLogin</cmp-field-name>
+                        <table-column>lastLogin</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>loginCount</cmp-field-name>
+                        <table-column>loginCount</table-column>
+                    </cmp-field-mapping>
+                </entity>
+
+
+                <!--
+                ##
+                ##  O r d e r E J B
+                ##
+                -->
+                <entity>
+                    <ejb-name>OrderEJB</ejb-name>
+                    <table-name>OrderEJB</table-name>
+                    <cmp-field-mapping>
+                        <cmp-field-name>orderFee</cmp-field-name>
+                        <table-column>orderFee</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>completionDate</cmp-field-name>
+                        <table-column>completionDate</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>orderType</cmp-field-name>
+                        <table-column>orderType</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>orderStatus</cmp-field-name>
+                        <table-column>orderStatus</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>price</cmp-field-name>
+                        <table-column>price</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>quantity</cmp-field-name>
+                        <table-column>quantity</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>openDate</cmp-field-name>
+                        <table-column>openDate</table-column>
+                    </cmp-field-mapping>
+                    <cmp-field-mapping>
+                        <cmp-field-name>orderID</cmp-field-name>
+                        <table-column>orderID</table-column>
+                    </cmp-field-mapping>
+                </entity>
+
+
+                <message-driven>
+                    <ejb-name>TradeStreamerMDB</ejb-name>
+                    <resource-adapter>
+                        <resource-link>TradeJMSResources</resource-link>
+                    </resource-adapter>
+                    <activation-config>
+                        <activation-config-property>
+                            <activation-config-property-name>destinationType</activation-config-property-name>
+                            <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
+                        </activation-config-property>
+                        <activation-config-property>
+                            <activation-config-property-name>destination</activation-config-property-name>
+                            <activation-config-property-value>jms/TradeStreamerTopic</activation-config-property-value>
+                        </activation-config-property>
+                        <activation-config-property>
+                            <activation-config-property-name>acknowledgeMode</activation-config-property-name>
+                            <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
+                        </activation-config-property>
+                        <activation-config-property>
+                            <activation-config-property-name>SubscriptionDurability</activation-config-property-name>
+                            <activation-config-property-value>NonDurable</activation-config-property-value>
+                        </activation-config-property>
+                    </activation-config>
+                </message-driven>
+
+                <message-driven>
+                    <ejb-name>TradeBrokerMDB</ejb-name>
+                    <resource-adapter>
+                        <!--<resource-link>TradeJMS</resource-link>-->
+                        <resource-link>TradeJMSResources</resource-link>
+                    </resource-adapter>
+                    <activation-config>
+                        <activation-config-property>
+                            <activation-config-property-name>destinationType</activation-config-property-name>
+                            <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
+                        </activation-config-property>
+                        <activation-config-property>
+                            <activation-config-property-name>destination</activation-config-property-name>
+                            <activation-config-property-value>jms/TradeBrokerQueue</activation-config-property-value>
+                        </activation-config-property>
+                        <activation-config-property>
+                            <activation-config-property-name>acknowledgeMode</activation-config-property-name>
+                            <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
+                        </activation-config-property>
+                        <activation-config-property>
+                            <activation-config-property-name>SubscriptionDurability</activation-config-property-name>
+                            <activation-config-property-value>NonDurable</activation-config-property-value>
+                        </activation-config-property>
+                    </activation-config>
+                </message-driven>
+            </enterprise-beans>
+
+            <!--
+            **
+            ** R e l a t i o n s h i p s   D e f i n i t i o n s
+            **
+            **
+            ** The following section defines the relationshoips for the entity beans in the application.
+            -->
+            <relationships>
+                <ejb-relation>
+                    <ejb-relation-name>Account-Orders</ejb-relation-name>
+                    <ejb-relationship-role>
+                        <ejb-relationship-role-name>AccountEJB</ejb-relationship-role-name>
+                        <relationship-role-source>
+                            <ejb-name>AccountEJB</ejb-name>
+                        </relationship-role-source>
+                        <cmr-field>
+                            <cmr-field-name>orders</cmr-field-name>
+                        </cmr-field>
+                        <role-mapping>
+                            <cmr-field-mapping>
+                                <key-column>accountID</key-column>
+                                <foreign-key-column>account_accountID</foreign-key-column>
+                            </cmr-field-mapping>
+                        </role-mapping>
+                    </ejb-relationship-role>
+                </ejb-relation>
+
+
+                <!--
+                **
+                ** A c c o u n t   -   A c c o u n t P r o f i l e
+                **
+                **
+                ** The following section defines the relationships for the entity beans in the application.
+                -->
+                <ejb-relation>
+                    <ejb-relation-name>Account-AccountProfile</ejb-relation-name>
+                    <ejb-relationship-role>
+                        <ejb-relationship-role-name>Account-Has-AccountProfile</ejb-relationship-role-name>
+                        <relationship-role-source>
+                            <ejb-name>AccountEJB</ejb-name>
+                        </relationship-role-source>
+                        <cmr-field>
+                            <cmr-field-name>profile</cmr-field-name>
+                        </cmr-field>
+                        <foreign-key-column-on-source/>
+                        <role-mapping>
+                            <cmr-field-mapping>
+                                <key-column>userID</key-column>
+                                <foreign-key-column>profile_userID</foreign-key-column>
+                            </cmr-field-mapping>
+                        </role-mapping>
+                    </ejb-relationship-role>
+                </ejb-relation>
+
+
+                <!--
+                **
+                ** A c c o u n t   -   H o l d i n g s
+                **
+                **
+                **
+                -->
+                <ejb-relation>
+                    <ejb-relation-name>Account-Holdings</ejb-relation-name>
+                    <ejb-relationship-role>
+                        <ejb-relationship-role-name>AccountEJB</ejb-relationship-role-name>
+                        <relationship-role-source>
+                            <ejb-name>AccountEJB</ejb-name>
+                        </relationship-role-source>
+                        <cmr-field>
+                            <cmr-field-name>holdings</cmr-field-name>
+                        </cmr-field>
+                        <role-mapping>
+                            <cmr-field-mapping>
+                                <key-column>accountID</key-column>
+                                <foreign-key-column>account_accountID</foreign-key-column>
+                            </cmr-field-mapping>
+                        </role-mapping>
+                    </ejb-relationship-role>
+                </ejb-relation>
+
+
+                <!--
+                **
+                ** Q u o t e  -  H o l d i n g s
+                **
+                **
+                ** The following section defines the relationships for the entity beans in the application.
+                -->
+                <ejb-relation>
+                    <ejb-relation-name>Quote-Holdings</ejb-relation-name>
+                    <ejb-relationship-role>
+                        <ejb-relationship-role-name>Holding-Has-Quote</ejb-relationship-role-name>
+                        <relationship-role-source>
+                            <ejb-name>HoldingEJB</ejb-name>
+                        </relationship-role-source>
+                        <cmr-field>
+                            <cmr-field-name>quote</cmr-field-name>
+                        </cmr-field>
+                        <foreign-key-column-on-source/>
+                        <role-mapping>
+                            <cmr-field-mapping>
+                                <key-column>symbol</key-column>
+                                <foreign-key-column>quote_symbol</foreign-key-column>
+                            </cmr-field-mapping>
+                        </role-mapping>
+                    </ejb-relationship-role>
+                </ejb-relation>
+
+
+                <!--
+                **
+                ** Q u o t e   -   O r d e r s
+                **
+                **
+                ** The following section defines the relationships for the entity beans in the application.
+                -->
+                <ejb-relation>
+                    <ejb-relation-name>Quote-Orders</ejb-relation-name>
+                    <ejb-relationship-role>
+                        <ejb-relationship-role-name>Order-Has-Quote</ejb-relationship-role-name>
+                        <relationship-role-source>
+                            <ejb-name>OrderEJB</ejb-name>
+                        </relationship-role-source>
+                        <cmr-field>
+                            <cmr-field-name>quote</cmr-field-name>
+                        </cmr-field>
+                        <foreign-key-column-on-source/>
+                        <role-mapping>
+                            <cmr-field-mapping>
+                                <key-column>symbol</key-column>
+                                <foreign-key-column>quote_symbol</foreign-key-column>
+                            </cmr-field-mapping>
+                        </role-mapping>
+                    </ejb-relationship-role>
+                </ejb-relation>
+
+
+                <!--
+                **
+                ** O r d e r  -   H o l d i n g
+                **
+                **
+                ** The following section defines the relationships for the entity beans in the application.
+                -->
+                <ejb-relation>
+                    <ejb-relation-name>Order-Holding</ejb-relation-name>
+                    <ejb-relationship-role>
+                        <ejb-relationship-role-name>Order-Has-Holding</ejb-relationship-role-name>
+                        <relationship-role-source>
+                            <ejb-name>OrderEJB</ejb-name>
+                        </relationship-role-source>
+                        <cmr-field>
+                            <cmr-field-name>holding</cmr-field-name>
+                        </cmr-field>
+                        <foreign-key-column-on-source/>
+                        <role-mapping>
+                            <cmr-field-mapping>
+                                <key-column>holdingID</key-column>
+                                <foreign-key-column>holding_holdingID</foreign-key-column>
+                            </cmr-field-mapping>
+                        </role-mapping>
+                    </ejb-relationship-role>
+                </ejb-relation>
+            </relationships>
+            <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
+
+                <persistence-unit name="daytrader">
+
+                    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+                    <jta-data-source>jdbc/TradeDataSource</jta-data-source>
+                    <non-jta-data-source>jdbc/NoTxTradeDataSource</non-jta-data-source>
+                    <properties>
+                        <property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.DerbyDictionary"/>
+                        <!-- property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.DB2Dictionary"/ -->
+                        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+                        <property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>
+                    </properties>
+                </persistence-unit>
+            </persistence>
+
+        </openejb-jar>
+    </module>
+
+
+    <module>
+        <java>streamer.jar</java>
+        <application-client xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client-1.2">
+            <client-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
+                <moduleId>
+                    <groupId>org.apache.geronimo.daytrader</groupId>
+                    <artifactId>daytrader-streamer-client</artifactId>
+                    <version>2.0-SNAPSHOT</version>
+                    <type>car</type>
+                </moduleId>
+            </client-environment>
+            <server-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
+                <moduleId>
+                    <groupId>org.apache.geronimo.daytrader</groupId>
+                    <artifactId>daytrader-streamer-client-server</artifactId>
+                    <version>2.0-SNAPSHOT</version>
+                    <type>car</type>
+                </moduleId>
+            </server-environment>
+            <resource>
+                <external-rar>org.apache.geronimo.modules/geronimo-activemq-ra/2.0-SNAPSHOT/rar</external-rar>
+                <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
+                    <resourceadapter>
+                        <resourceadapter-instance>
+                            <resourceadapter-name>ActiveMQ RA</resourceadapter-name>
+                            <config-property-setting name="ServerUrl">tcp://localhost:61616</config-property-setting>
+                            <config-property-setting name="UserName">geronimo</config-property-setting>
+                            <config-property-setting name="Password">geronimo</config-property-setting>
+                            <workmanager>
+                                <gbean-link>DefaultWorkManager</gbean-link>
+                            </workmanager>
+                        </resourceadapter-instance>
+                        <outbound-resourceadapter>
+                            <connection-definition>
+                                <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
+                                <connectiondefinition-instance>
+                                    <name>jms/TopicConnectionFactory</name>
+                                    <implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>
+                                    <implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
+                                    <connectionmanager>
+                                        <xa-transaction>
+                                            <transaction-caching/>
+                                        </xa-transaction>
+                                        <single-pool>
+                                            <max-size>10</max-size>
+                                            <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+                                            <match-one/>
+                                        </single-pool>
+                                    </connectionmanager>
+                                </connectiondefinition-instance>
+                            </connection-definition>
+                        </outbound-resourceadapter>
+                    </resourceadapter>
+
+
+                    <adminobject>
+                        <adminobject-interface>javax.jms.Topic</adminobject-interface>
+                        <adminobject-class>org.activemq.message.ActiveMQTopic</adminobject-class>
+                        <adminobject-instance>
+                            <message-destination-name>TradeStreamerTopic</message-destination-name>
+                            <config-property-setting name="PhysicalName">TradeStreamerTopic</config-property-setting>
+                        </adminobject-instance>
+                    </adminobject>
+
+                </connector>
+            </resource>
+        </application-client>
+    </module>
+
+    <module>
+        <java>wsappclient.jar</java>
+        <application-client xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client-1.2">
+            <client-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
+                <moduleId>
+                    <groupId>org.apache.geronimo.daytrader</groupId>
+                    <artifactId>daytrader-ws-client</artifactId>
+                    <version>2.0-SNAPSHOT</version>
+                    <type>car</type>
+                </moduleId>
+            </client-environment>
+            <server-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
+                <moduleId>
+                    <groupId>org.apache.geronimo.daytrader</groupId>
+                    <artifactId>daytrader-ws-client-server</artifactId>
+                    <version>2.0-SNAPSHOT</version>
+                    <type>car</type>
+                </moduleId>
+            </server-environment>
+        </application-client>
+    </module>
+
+    <ext-module>
+        <connector>TradeDataSource</connector>
+        <external-path>org.tranql/tranql-connector-db2-embed-xa/1.3/rar</external-path>
+        <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
+
+
+            <resourceadapter>
+                <outbound-resourceadapter>
+                    <connection-definition>
+                        <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
+                        <connectiondefinition-instance>
+                            <name>jdbc/TradeDataSource</name>
+                            <config-property-setting name="UserName">db2inst1</config-property-setting>
+                            <config-property-setting name="Password">password</config-property-setting>
+                            <config-property-setting name="PortNumber">50001</config-property-setting>
+                            <config-property-setting name="ServerName">localhost</config-property-setting>
+                            <config-property-setting name="DatabaseName">tradedb</config-property-setting>
+                            <config-property-setting name="DriverType">4</config-property-setting>
+                            <connectionmanager>
+                                <xa-transaction>
+                                    <transaction-caching/>
+                                </xa-transaction>
+                                <single-pool>
+                                    <max-size>100</max-size>
+                                    <min-size>0</min-size>
+                                    <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+                                    <idle-timeout-minutes>30</idle-timeout-minutes>
+                                    <match-one/>
+                                </single-pool>
+                            </connectionmanager>
+                        </connectiondefinition-instance>
+                    </connection-definition>
+                </outbound-resourceadapter>
+            </resourceadapter>
+        </connector>
+    </ext-module>
+
+
+    <ext-module>
+        <connector>TradeJMS</connector>
+        <external-path>org.apache.geronimo.modules/geronimo-activemq-ra/2.0-SNAPSHOT/rar</external-path>
+        <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
+
+            <resourceadapter>
+                <!-- how to connect to the JMS Server -->
+                <resourceadapter-instance>
+                    <resourceadapter-name>TradeJMSResources</resourceadapter-name>
+                    <config-property-setting name="ServerUrl">tcp://localhost:61616</config-property-setting>
+                    <config-property-setting name="UserName">not needed</config-property-setting>
+                    <config-property-setting name="Password">not needed</config-property-setting>
+                    <workmanager>
+                        <gbean-link>DefaultWorkManager</gbean-link>
+                    </workmanager>
+                </resourceadapter-instance>
+                <!-- defines a ConnectionFactory -->
+                <outbound-resourceadapter>
+	                    <connection-definition>
+                        <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
+                        <connectiondefinition-instance>
+                            <name>jms/QueueConnectionFactory</name>
+                            <implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>
+                            <connectionmanager>
+                                <xa-transaction>
+                                    <transaction-caching/>
+                                </xa-transaction>
+                                <single-pool>
+                                    <max-size>50</max-size>
+                                    <min-size>0</min-size>
+                                    <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+                                    <idle-timeout-minutes>0</idle-timeout-minutes>
+                                    <match-one/>
+                                </single-pool>
+                            </connectionmanager>
+                        </connectiondefinition-instance>
+                    </connection-definition>
+                    <connection-definition>
+                        <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
+                        <connectiondefinition-instance>
+                            <name>jms/TopicConnectionFactory</name>
+                            <implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
+                            <connectionmanager>
+                                <xa-transaction>
+                                    <transaction-caching/>
+                                </xa-transaction>
+                                <single-pool>
+                                    <max-size>50</max-size>
+                                    <min-size>0</min-size>
+                                    <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+                                    <idle-timeout-minutes>0</idle-timeout-minutes>
+                                    <match-one/>
+                                </single-pool>
+                            </connectionmanager>
+                        </connectiondefinition-instance>
+                    </connection-definition>
+                </outbound-resourceadapter>
+            </resourceadapter>
+
+            <adminobject>
+                <adminobject-interface>javax.jms.Topic</adminobject-interface>
+                <adminobject-class>org.activemq.message.ActiveMQTopic</adminobject-class>
+                <adminobject-instance>
+                    <message-destination-name>jms/TradeStreamerTopic</message-destination-name>
+                    <config-property-setting name="PhysicalName">TradeStreamerTopic</config-property-setting>
+                </adminobject-instance>
+            </adminobject>
+
+            <adminobject>
+                <adminobject-interface>javax.jms.Queue</adminobject-interface>
+                <adminobject-class>org.activemq.message.ActiveMQQueue</adminobject-class>
+                <adminobject-instance>
+                    <message-destination-name>jms/TradeBrokerQueue</message-destination-name>
+                    <config-property-setting name="PhysicalName">TradeBrokerQueue</config-property-setting>
+                </adminobject-instance>
+            </adminobject>
+
+        </connector>
+    </ext-module>
+</application>

Propchange: geronimo/daytrader/trunk/plans/dayTrader-db2-9.1-XA-plan.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message