These are instructions for building and deploying DayTrader 1.2 on Apache Geronimo 1.1.X and 1.2. All of the necessary vendor specific deployment artifacts are provided by the deployment plans located in the plans directory. System Application Server Platform Edition 9.0. All of the necessary Sun vendor specific deployment descriptors and artifacts are included in the source tree. PLEASE NOTE: With the exception of the web services components (web services proxy and ws appclient), all components of the application function. Building the EAR with Maven 2 ------------------------------- Build the EAR by changing directories to the top-level project directory and issue the following command... mvn install Assuming the build is successful, the ear will be located under the following directory... modules/ear/target Creating the DayTrader database (optional) ------------------------------------------- Typically, the provided plan files are configured to create the DayTrader database (DaytraderDatabase) on Apache Derby during deployment. However, scripts are provided within the bin/dbscripts/derby directory, if you choose to create the database manually. NOTE: These scripts assume that the JAVA_HOME and GERONIMO_HOME environment variables have been defined. Installing the EAR -------------------- The easist way to install the DayTrader ear is through the Apache Geronimo Administration Console. 1) Open the Apache Geronimo Administration Console via a browser and follow the "Deploy New" link under the Applications sub-section of the Console Navigation pane. 2) Provide the location of the archive file and the Geronimo deployment plan file. 3) Accept the defaults and click on the "Install" button. If you choose not to use the Administration Console, you may deploy the DayTrade application archive using the Geronimo deployer utility. The following command line demonstrates how the deployer utility can be used to install DayTrader. ${GERONIMO_HOME}/bin/deploy.sh deploy daytrader-ear-1.2-SNAPSHOT.ear dayTrader-1.2-plan.xml Running DayTrader ------------------- Once installed and started, the DayTrader application can be accessed at the following URL. http://localhost:8080/daytrader Before accessing any of the trading application functions, the required database tables must be created and populated with an initial set of accounts, stock quotes, and holdings. Follow the simple steps outlined below to configure the database tables and populate them with data. 1) Follow the "Configuration" tab and click on the "(Re)-create DayTrader Database Tables and Indexes" link. 2) Upon completion, return to the "Configuration" tab and click on the "(Re)-populate DayTrader Database" link. At this point, you should be able to log into DayTrader and begin trading! NOTE: The initial population size consists of 200 accounts and 400 stock quotes. These values can be updated via the "Configure DayTrader run-time parameters" link on the "Configuration" tab. Launching the DayTrader Application Clients --------------------------------------------- DayTrader provides two J2EE application clients, the DayTrader Streamer app client and a web services app. The Streamer app client uses a JMS topic to subscribe to quote price updates as stocks are bought and sold. These updates are tracked and used to determine if database collisions occur while updating the quote prices in the database. The web services app client simply provides a thick client for accessing DayTrader services using a web services interface. The following commands can be used to launch the application clients. Streamer app client: java -jar bin/client.jar geronimo/daytrader-streamer-client/1.2-SNAPSHOT/car NOTE: In order for the quote price updates to published to the JMS topic, the "Publish Quote Updates" flag on the configuration page must be enabled. Web Services app client: java -jar bin/client.jar geronimo/daytrader-wsapp-client/1.2-SNAPSHOT/car DayTrader Logging/Tracing --------------------------- To enable logging of the DayTrader components in Geronimo, you must edit the server-log4j.properties file located in the var/log directory. The required changes are listed below. If necessary, please restart the server in order for these changes to take affect. Uncomment the following line: log4j.appender.CONSOLE.Threshold=TRACE#org.apache.geronimo.system.logging.log4j.XLevel Append the following line: log4j.category.org.apache.geronimo.samples.daytrader.util.Log=TRACE#org.apache.geronimo.system.logging.log4j.XLevel If you would like the trace statements to show up in the geronimo.log as well, modify the FILE threshold with the following line: log4j.appender.FILE.threshold=TRACE#org.apache.geronimo.system.logging.log4j.XLevel ISSUES --------------------------- On Geronimo 2.0.1, if OpenJPA tracing is enabled, the KeySequenceBean will not function correctly because the tracing code will deplete all of the keys in the resulting KeyBlock when the toString method is called. [08/31/2007]