You are viewing a plain text version of this content. The canonical link for it is here.
Posted to olio-commits@incubator.apache.org by kl...@apache.org on 2009/09/23 16:49:21 UTC

svn commit: r818162 - in /incubator/olio: docs/java_setup.html webapp/java/trunk/ws/apps/webapp/build.xml webapp/java/trunk/ws/apps/webapp/src/conf/orm.xml webapp/java/trunk/ws/bp-project/persistence-unit-ant.xml

Author: klichong
Date: Wed Sep 23 16:49:21 2009
New Revision: 818162

URL: http://svn.apache.org/viewvc?rev=818162&view=rev
Log:
bug fix for Olio-120 - dynamic weaving does not work  with JPA/Eclipselink and Weblogic 10.3 with Fetching set to LAZY
added ant targets to do static weaving instead of dynamic due to existing bug in Weblogic

Added:
    incubator/olio/webapp/java/trunk/ws/apps/webapp/src/conf/orm.xml
Modified:
    incubator/olio/docs/java_setup.html
    incubator/olio/webapp/java/trunk/ws/apps/webapp/build.xml
    incubator/olio/webapp/java/trunk/ws/bp-project/persistence-unit-ant.xml

Modified: incubator/olio/docs/java_setup.html
URL: http://svn.apache.org/viewvc/incubator/olio/docs/java_setup.html?rev=818162&r1=818161&r2=818162&view=diff
==============================================================================
--- incubator/olio/docs/java_setup.html (original)
+++ incubator/olio/docs/java_setup.html Wed Sep 23 16:49:21 2009
@@ -8,6 +8,8 @@
 
 
 
+
+  
   
   
   
@@ -21,6 +23,7 @@
 
 
 
+
   
 
 
@@ -35,6 +38,8 @@
   
   
   
+  
+  
   <title>Olio/Java Install and Setup Guide</title>
   <meta name="generator" content="Bluefish 1.0.7">
 
@@ -44,6 +49,8 @@
 
 
 
+
+  
   
   
   
@@ -58,6 +65,8 @@
 
 
 
+
+  
   
   
   
@@ -72,6 +81,8 @@
 
 
 
+
+  
   
   
   
@@ -86,6 +97,8 @@
 
 
 
+
+  
   
   
   
@@ -104,6 +117,7 @@
 
 
 
+
 <h1 align="center">Olio/Java<br>
 
 
@@ -112,6 +126,7 @@
 
 
 
+
 Install and Setup Guide From Source Tree</h1>
 
 
@@ -120,6 +135,7 @@
 
 
 
+
 <p><span style="font-weight: normal;">Note: The
 application currently does not use memcached. Please ignore the
 memcached related setup instructions</span><br>
@@ -130,6 +146,7 @@
 
 
 
+
 </p>
 
 
@@ -138,6 +155,7 @@
 
 
 
+
 <h2>Overview</h2>
 
 
@@ -146,6 +164,7 @@
 
 
 
+
 <p>Java Olio is a macro-level benchmark consisting of the
 following
 components:</p>
@@ -156,6 +175,7 @@
 
 
 
+
 <ol>
 
 
@@ -164,6 +184,7 @@
 
 
 
+
   <li>
     
     
@@ -171,6 +192,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;">The web application</p>
 
 
@@ -179,6 +201,7 @@
 
 
 
+
   </li>
 
 
@@ -187,6 +210,7 @@
 
 
 
+
   <li>
     
     
@@ -194,6 +218,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;">The main database </p>
 
 
@@ -202,6 +227,7 @@
 
 
 
+
   </li>
 
 
@@ -210,6 +236,7 @@
 
 
 
+
   <li>
     
     
@@ -217,6 +244,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;">Distributed storage
 servers (MogileFS or localFS)</p>
 
@@ -226,6 +254,7 @@
 
 
 
+
   </li>
 
 
@@ -234,6 +263,7 @@
 
 
 
+
   <li>
     
     
@@ -241,6 +271,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;">Storage metadata
 database (for MogileFS)</p>
 
@@ -250,6 +281,7 @@
 
 
 
+
   </li>
 
 
@@ -258,6 +290,7 @@
 
 
 
+
   <li>
     
     
@@ -265,6 +298,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;">Geocoder emulator </p>
 
 
@@ -273,6 +307,7 @@
 
 
 
+
   </li>
 
 
@@ -281,6 +316,7 @@
 
 
 
+
   <li>
     
     
@@ -288,6 +324,7 @@
     
     
     
+    
     <p>Workload driver</p>
 
 
@@ -296,6 +333,7 @@
 
 
 
+
   </li>
 
 
@@ -304,6 +342,7 @@
 
 
 
+
 </ol>
 
 
@@ -312,6 +351,7 @@
 
 
 
+
 <p>If your primary interest is in setting up the application
 alone, you need items 1-5 above and they can all be setup on a single
 system. If on the other hand, you would like to drive load against the
@@ -329,6 +369,7 @@
 
 
 
+
 <p>For a horizontally scaled workload, or to measure the
 performance of the individual components, you can deploy the SUT
 components on separate physical or virtual machines. &nbsp;Keep in
@@ -338,11 +379,13 @@
 
 
 
+
 <br>
 
 
 
 
+
 Java Olio is available either as a kit, or by downloading the source.
 &nbsp;There are two separate sections that describe how to get started,
 either by <a href="#Extracting_the_Contents">Extracting the Contents</a>, or by <a href="#Downloading_The_Source">Downloading the source</a>.<br>
@@ -350,6 +393,7 @@
 
 
 
+
 <br>
 
 
@@ -358,6 +402,7 @@
 
 
 
+
 In the following sections, we'll go over the steps
 needed to configure each component :</p>
 
@@ -367,12 +412,15 @@
 
 
 
+
 <a href="#Extracting_the_Contents">Extracting the Contents</a><br>
 
 
+
 <br>
 
 
+
 <a href="#Downloading_The_Source">Downloading the source</a>
 <p><a href="#setupDriver">Setting up the driver</a></p>
 
@@ -382,6 +430,7 @@
 
 
 
+
 <p><a href="#installWebApp">Installing the Web
 Application</a></p>
 
@@ -391,6 +440,7 @@
 
 
 
+
 <p><a href="#setupDB">Setting up the database</a></p>
 
 
@@ -399,6 +449,7 @@
 
 
 
+
 <p><a href="#loadDB">Loading the database</a></p>
 
 
@@ -407,6 +458,7 @@
 
 
 
+
 <p><a href="#setupFileStore">Setting up the filestore</a></p>
 
 
@@ -415,6 +467,7 @@
 
 
 
+
 <p><a href="#startMemCached">Starting memcached
 Server</a></p>
 
@@ -424,6 +477,7 @@
 
 
 
+
 <p><a href="#setupEmulator">Setting up the Geocoder
 Emulator</a></p>
 
@@ -433,6 +487,7 @@
 
 
 
+
 <p><a href="#testWebApp">Testing the web application</a></p>
 
 
@@ -441,6 +496,7 @@
 
 
 
+
 <p><a href="#startRun">Starting a benchmark run</a></p>
 
 
@@ -449,6 +505,7 @@
 
 
 
+
 <h2><a name="Prerequisite_Software:"></a>Prerequisite
 Software:</h2>
 
@@ -458,6 +515,7 @@
 
 
 
+
 <ul>
 
 
@@ -466,6 +524,7 @@
 
 
 
+
   <li><a href="http://java.sun.com/javase/downloads/index.jsp">Java
 SE 6</a></li>
 
@@ -475,6 +534,7 @@
 
 
 
+
   <li><a href="http://ant.apache.org/">Apache
 Ant&nbsp;</a></li>
 
@@ -484,6 +544,7 @@
 
 
 
+
   <li><a href="http://subversion.tigris.org/">Subversion:&nbsp;</a>
 an open source revision control system</li>
 
@@ -493,6 +554,7 @@
 
 
 
+
   <li><a href="http://faban.sunsource.net/">Faban</a>
 a facility for developing and running benchmarks.</li>
 
@@ -502,6 +564,7 @@
 
 
 
+
   <li>Java EE 5 compliant application server - eg. <a href="https://glassfish.dev.java.net/public/downloadsindex.html">GlassFish</a></li>
 
 
@@ -510,6 +573,7 @@
 
 
 
+
   <li>Java Persistence API (JPA) provider - eg. <a href="http://www.eclipse.org/eclipselink/">Eclipselink</a></li>
 
 
@@ -518,6 +582,7 @@
 
 
 
+
   <li>Database tier - eg. mySQL</li>
 
 
@@ -526,21 +591,25 @@
 
 
 
+
 </ul>
 
 
 
 
+
 <h2><a name="Extracting_the_Contents"></a>Extracting the Contents</h2>
 
 
 
 
+
 <br>
 
 
 
 
+
 The Olio/Java kit is packaged as a gzipped tar file. The first task is
 to unzip the file and untar it to extract it's contents. Because of the
 long pathnames, please use gtar to extract. This can be done as follows:<br>
@@ -548,99 +617,119 @@
 
 
 
+
 <br>
 
 
 
 
+
 # gzcat olio-java-&lt;version&gt;.tar.gz | gtar xvf -<br>
 
 
 
 
+
 <br>
 
 
 
 
+
 This will cause a directory named olio-java-&lt;version&gt; to be created whose contents should look like:<br>
 
 
 
 
+
 <br>
 
 
 
 
+
 # ls olio-java-0.1*<br>
 
 
 
 
+
 <br>
 
 
 
 
+
 LICENSE JavaOlioDriver.jar RELEASE-NOTES-java-0.1.txt geocoder.war Java_setup.html<br>
 
 
 
 
+
 <br>
 
 
 
 
+
 NOTICE olioJava/ release<br>
 
 
 
 
+
 <br>
 
 
 
 
+
 #<br>
 
 
 
 
+
 <br>
 
 
 
 
+
 We will use $JAVA_OLIO_HOME to designate the name of this directory. A description of the contents follows :<br>
 
 
 
 
+
 <br>
 
 
 
 
+
 <ul>
 
 
 
 
+
   <li>&nbsp;The <span style="font-style: italic;">oliojava</span> directory contains the web application. This
 application will be deployed on the webserver. <br>
 
+
     <br>
 
 
 
 
+
   </li>
 
 
 
 
+
   <li>&nbsp;<span style="font-style: italic;">JavaOlioDriver.jar</span> contains the load generator/driver
 (which we typically refer to simply as <span style="font-style: italic;">driver</span>). The driver is
 implemented using <a href="http://sunsource.faban.net">Faban</a>, an open source benchmarking toolkit.<br>
@@ -648,53 +737,64 @@
 
 
 
+
     <br>
 
 
 
 
+
   </li>
 
 
 
 
+
   <li><span style="font-style: italic;">geocoder.war</span> contains the simple servlet used to emulate the geocoder.<br>
 
 
 
 
+
     <br>
 
 
 
 
+
   </li>
 
 
 
 
+
   <li><span style="font-style: italic;">java_setup.html</span> is this document.<br>
 
+
     <br>
 
 
 
 
+
   </li>
 
 
 
 
+
   <li><span style="font-style: italic;">release</span> contains the release name. LICENSE and NOTICE contain the licenses.<br>
 
 
 
 
+
   </li>
 
 
 
 
+
 </ul>
 
 
@@ -703,6 +803,7 @@
 
 
 
+
 <h2><a name="Downloading_The_Source"></a>Downloading
 The Source</h2>
 
@@ -712,6 +813,7 @@
 
 
 
+
 <span style="text-decoration: underline; font-weight: bold;"></span><br>
 
 
@@ -720,6 +822,7 @@
 
 
 
+
 The Olio source is available via SVN at <a href="https://svn.apache.org/repos/asf/incubator/olio/">https://svn.apache.org/repos/asf/incubator/olio/</a>.
 Please see the <a href="http://www.apache.org/dev/version-control.html#anon-svn">instructions</a>
 for downloading the source. We will use $OLIO_HOME to designate the
@@ -732,6 +835,7 @@
 
 
 
+
 <br>
 
 
@@ -740,6 +844,7 @@
 
 
 
+
 <ul>
 
 
@@ -748,6 +853,7 @@
 
 
 
+
   <li>The <span style="font-style: italic;">webapp</span> directory
 contains the web application. The java/trunk sub-directory
 contains the workspace for the Java application. The java source
@@ -762,6 +868,7 @@
 
 
 
+
 </ul>
 
 
@@ -770,6 +877,7 @@
 
 
 
+
 <ul>
 
 
@@ -778,6 +886,7 @@
 
 
 
+
   <li>The <span style="font-style: italic;">workload</span>
 directory contains the code for the load
 generator/driver (which we typically refer to simply as driver). The
@@ -791,16 +900,19 @@
 
 
 
+
   </li>
 
 
 
 
+
   <li>The geocoder directory contains the code for the geocoder emulator. This code is shared across all implementations of Olio.<br>
 
 
 
 
+
   </li>
 
 
@@ -809,6 +921,7 @@
 
 
 
+
 </ul>
 
 
@@ -817,6 +930,7 @@
 
 
 
+
 <p></p>
 
 
@@ -825,6 +939,7 @@
 
 
 
+
 <h2><a name="setupDriver"></a>Setting up the
 driver</h2>
 
@@ -834,6 +949,7 @@
 
 
 
+
 Even if you don't plan to drive load against the application, this
 setup is required as the database and file loaders are part of the
 workload driver&nbsp; - feel free to install the driver on the same
@@ -846,6 +962,7 @@
 
 
 
+
   <li>
     
     
@@ -853,6 +970,7 @@
     
     
     
+    
     <p align="left">See <a href="http://faban.sunsource.net/docs/guide/harness/install.html">http://faban.sunsource.net/docs/guide/harness/install.html</a>
 for Faban installation instructions. Note that faban needs to be
 installed on all the machines used for the benchmark. &nbsp; Please
@@ -867,6 +985,7 @@
 
 
 
+
   </li>
 
 
@@ -875,6 +994,7 @@
 
 
 
+
   <li>
     
     
@@ -882,6 +1002,7 @@
     
     
     
+    
     <p align="left">To build the driver, do the following:<br>
 
 
@@ -890,6 +1011,7 @@
 
 
 
+
     </p>
 
 
@@ -898,6 +1020,8 @@
 
 
 
+
+    
     
     
     
@@ -912,6 +1036,7 @@
 
 
 
+
       <li>cd $WORKLOAD/java/trunk<br>
 
 
@@ -920,6 +1045,7 @@
 
 
 
+
         <br>
 
 
@@ -928,6 +1054,7 @@
 
 
 
+
       </li>
 
 
@@ -936,6 +1063,7 @@
 
 
 
+
       <li>Copy build.properties.template to build.properties. &nbsp;Edit this new file build.properties and set faban.home to
 $FABAN_HOME, faban.url to <span style="font-family: monospace;">http://driver_host:9980
         </span>where <span style="font-style: italic;">driver_host</span>
@@ -948,6 +1076,7 @@
 
 
 
+
         <br>
 
 
@@ -956,6 +1085,7 @@
 
 
 
+
       </li>
 
 
@@ -964,6 +1094,7 @@
 
 
 
+
       <li>Set the environment variable JAVA_HOME to point to your
 JDK1.6 installation.<br>
 
@@ -973,6 +1104,7 @@
 
 
 
+
         <br>
 
 
@@ -981,6 +1113,7 @@
 
 
 
+
       </li>
 
 
@@ -989,11 +1122,13 @@
 
 
 
+
       <li>Build the driver using the command: ant deploy.jar. If
 successful, you should see the file JavaWeb20Driver.jar in the build
 sub-directory.</li>
 
 
+
       <br>
 
 
@@ -1002,6 +1137,8 @@
 
 
 
+
+    
     
     
     
@@ -1011,9 +1148,11 @@
     </ul>
 
 
+
   </li>
 
 
+
   <li>Download MySQL Connector/J (JDBC Driver for MySQL) and install the jar in&nbsp;$FABAN_HOME/benchmarks/JavaOlioDriver/lib.</li>
 
 
@@ -1022,6 +1161,7 @@
 
 
 
+
   
 
 
@@ -1034,6 +1174,7 @@
     
     
     
+    
     <p align="left">For the driver to work, you will need
 JDK 1.6. Set JAVA_HOME to the path of the JDK in the faban user's
 environment.</p>
@@ -1044,6 +1185,7 @@
 
 
 
+
   </li>
 
 
@@ -1052,6 +1194,7 @@
 
 
 
+
   <li>
     
     
@@ -1059,6 +1202,7 @@
     
     
     
+    
     <p align="left">Start the faban master on the master
 driver machine :</p>
 
@@ -1068,6 +1212,8 @@
 
 
 
+
+    
     
     
     
@@ -1082,6 +1228,7 @@
 
 
 
+
   </li>
 
 
@@ -1090,6 +1237,7 @@
 
 
 
+
   <li>
     
     
@@ -1097,6 +1245,7 @@
     
     
     
+    
     <p align="left">Test that you can connect to the
 master by pointing your browser at http://<i>&lt;driver_machine&gt;</i>:9980.
 &nbsp;You should see the Faban welcome page or if you have already
@@ -1104,9 +1253,11 @@
 Workload"</p>
 
 
+
   </li>
 
 
+
   <li>To deploy the Faban driver, you can
 either copy $WORKLOAD/build/JavaOlioDriver.jar to the
 $FABAN_HOME/benchmarks directory, or execute <span style="font-family: monospace;">ant deploy</span>.
@@ -1117,6 +1268,7 @@
 
 
 
+
   
 
 
@@ -1130,6 +1282,7 @@
 
 
 
+
 <span style="font-weight: bold;"></span>
 <h2><a name="Setting_Up_the_Database"></a>Setting
 Up the Database</h2>
@@ -1140,6 +1293,7 @@
 
 
 
+
 Sun Web Stack (formerly known as Coolstack) is one pre-integrated suite of open source applications
 optimized for Solaris. If you're running on any other operating system,
 please install the mySQL on those systems. &nbsp;You can <a href="https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=Web-Stack-1.4-OTH-G-F@CDS-CDS_SMI">download</a> the official Sun binaries for Sun Web Stack if you are on Solaris or Red Hat Linux.
@@ -1152,6 +1306,7 @@
 
 
 
+
   <li>If you plan to run MySQL on a separate machine, install
 MySQL on
 that system. We will refer to the MySQL installation directory as
@@ -1163,6 +1318,7 @@
 
 
 
+
   <li>
     
     
@@ -1170,6 +1326,7 @@
     
     
     
+    
     <p>Setup the mysql user/group and permissions for its
 directories: <br>
 
@@ -1179,6 +1336,7 @@
 
 
 
+
     <span style="font-family: monospace;"></span><span style="font-family: monospace;"># groupadd mysql </span><br style="font-family: monospace;">
 
 
@@ -1187,6 +1345,7 @@
 
 
 
+
     <span style="font-family: monospace;"># useradd
 -d&nbsp;$MYSQL_HOME -g mysql -s /usr/bin/bash&nbsp;</span><span style="font-family: monospace;">mysql</span><span style="font-family: monospace;"><br>
 
@@ -1196,6 +1355,7 @@
 
 
 
+
 # chown -R
 mysql:mysql $MYSQL_HOME</span><br>
 
@@ -1205,6 +1365,7 @@
 
 
 
+
     <span style="font-family: monospace;"></span></p>
 
 
@@ -1213,6 +1374,7 @@
 
 
 
+
   </li>
 
 
@@ -1221,6 +1383,7 @@
 
 
 
+
   <li>
     
     
@@ -1228,6 +1391,7 @@
     
     
     
+    
     <p>Create the database :<br>
 
 
@@ -1236,6 +1400,7 @@
 
 
 
+
     <span style="font-family: monospace;"># su - mysql</span><br style="font-family: monospace;">
 
 
@@ -1244,6 +1409,7 @@
 
 
 
+
     <span style="font-family: monospace;">$ cd&nbsp;bin</span><br style="font-family: monospace;">
 
 
@@ -1252,15 +1418,18 @@
 
 
 
+
     <span style="font-family: monospace;">$
 ./mysql_install_db</span></p>
 
 
 
+
   </li>
 
 
 
+
   <li>A sample MySQL configuration file (my.cnf) is included in the
 $WEBAPP/etc. Please read the embedded comments and edit the file
 appropriately after copying it to /etc. &nbsp; Note that the data
@@ -1268,6 +1437,7 @@
 
 
 
+
   </li>
 
 
@@ -1276,6 +1446,7 @@
 
 
 
+
   <li>
     
     
@@ -1283,6 +1454,7 @@
     
     
     
+    
     <p>Start the mysql server. Substitute your own password for <i>pwd
     </i><span style="font-style: normal;">(we
 typically use</span><i> adminadmin</i><span style="font-style: normal;">)</span><br>
@@ -1293,6 +1465,7 @@
 
 
 
+
     <span style="font-family: monospace;">$&nbsp;</span><span style="font-family: monospace;">./mysqld_safe --defaults-file=/etc/my.cnf &amp;</span><br style="font-family: monospace;">
 
 
@@ -1301,6 +1474,7 @@
 
 
 
+
     <span style="font-family: monospace;">$ ./mysqladmin
 -u root password <span style="font-style: italic;">&lt;your-</span></span><i style="font-family: monospace;"><span style="font-style: italic;">password&gt;</span><br>
 
@@ -1310,6 +1484,7 @@
 
 
 
+
 $ </i><span style="font-family: monospace;">./mysqladmin
 -u root -h &lt;machine-name&gt; password</span><i style="font-family: monospace;">
 &lt;your-password&gt;</i></p>
@@ -1320,6 +1495,7 @@
 
 
 
+
   </li>
 
 
@@ -1328,6 +1504,7 @@
 
 
 
+
   <li>
     
     
@@ -1335,6 +1512,7 @@
     
     
     
+    
     <p>Create the olio user and grant privileges :<br>
 
 
@@ -1343,6 +1521,7 @@
 
 
 
+
     <span style="font-family: monospace;">$ ./mysql -uroot
 -p</span><i style="font-family: monospace;">pwd</i><br style="font-family: monospace;">
 
@@ -1352,6 +1531,7 @@
 
 
 
+
     <span style="font-family: monospace;">mysql&gt;
 create user 'olio'@'%' identified by 'olio';</span><br style="font-family: monospace;">
 
@@ -1361,6 +1541,7 @@
 
 
 
+
     <span style="font-family: monospace;">mysql&gt;
 grant all privileges </span><span style="font-family: monospace;">on *.* to 'olio'@'%'
 identified by 'olio' with grant option;</span><span style="font-family: monospace;"></span><span style="font-family: monospace;"><br>
@@ -1371,6 +1552,7 @@
 
 
 
+
     </span><span style="font-family: monospace;"></span><span style="font-family: monospace;"><br>
 
 
@@ -1379,6 +1561,7 @@
 
 
 
+
     <br>
 
 
@@ -1387,6 +1570,7 @@
 
 
 
+
     </span>In some cases the wildcard '%' does not work reliably
 as a
 substitution for all hosts. You need to grant the privileges to
@@ -1400,6 +1584,7 @@
 
 
 
+
     <span style="font-family: monospace;"></span>Eg.<span style="font-family: monospace;"> mysql&gt;
 grant all </span><span style="font-family: monospace;">privileges
     </span><span style="font-family: monospace;">on
@@ -1411,12 +1596,14 @@
 
 
 
+
     </p>
 
 
 
 
 
+
   </li>
 
 
@@ -1425,6 +1612,7 @@
 
 
 
+
   <li>Create database<br>
 
 
@@ -1433,6 +1621,7 @@
 
 
 
+
     <span style="font-family: monospace;">mysql&gt;
 create database bpwebapp;</span><br style="font-family: monospace;">
 
@@ -1442,6 +1631,7 @@
 
 
 
+
     <span style="font-family: monospace;">mysql&gt;
 use bpwebapp;<br>
 
@@ -1451,6 +1641,7 @@
 
 
 
+
     <br>
 
 
@@ -1459,6 +1650,7 @@
 
 
 
+
     </span></li>
 
 
@@ -1467,6 +1659,7 @@
 
 
 
+
   <li>Although it is possible to create the database schema
 automatically by JPA upon
 deployment or when the application server starts, it recommended to
@@ -1481,6 +1674,7 @@
 
 
 
+
     <br>
 
 
@@ -1489,6 +1683,7 @@
 
 
 
+
     <span style="font-family: monospace;">mysql&gt; \.</span><span style="font-style: italic; font-family: monospace;">
 &lt;location&gt;</span><span style="font-family: monospace;">/schema.sql<br>
 
@@ -1498,6 +1693,7 @@
 
 
 
+
 mysql&gt; exit</span><span style="font-family: monospace;"><br>
 
 
@@ -1506,6 +1702,7 @@
 
 
 
+
     </span>&nbsp;Now, if you login as the user olio, you
 should be able to see the
 database created by the root user.</li>
@@ -1516,6 +1713,7 @@
 
 
 
+
 </ol>
 
 
@@ -1524,6 +1722,7 @@
 
 
 
+
 <h2><a name="loadDB"></a> <font size="4">Loading
 the database</font></h2>
 
@@ -1533,6 +1732,7 @@
 
 
 
+
 <p><font size="3">It is best to load the database
 manually the first
 time so that we can test the web application. However, while doing
@@ -1545,6 +1745,7 @@
 
 
 
+
 <ol>
 
 
@@ -1553,6 +1754,7 @@
 
 
 
+
   <li>
     
     
@@ -1560,6 +1762,7 @@
     
     
     
+    
     <p><font size="3">Login to the machine running
 the Faban master driver. Only this machine has the loader at this time.</font></p>
 
@@ -1569,6 +1772,7 @@
 
 
 
+
   </li>
 
 
@@ -1577,6 +1781,7 @@
 
 
 
+
   <li><font size="3">Go to the directory containing
 the loader script:<br>
 
@@ -1586,6 +1791,7 @@
 
 
 
+
     </font><font size="3"><span style="font-family: monospace;"># cd </span></font><span style="font-family: monospace;"><span style="font-style: italic;">$FABAN_HOME</span>/benchmarks/JavaOlioDriver/bin</span></li>
 
 
@@ -1594,6 +1800,7 @@
 
 
 
+
   <li>Ensure the script has execute permissions. Faban takes care
 of this for the runs, but since we have not yet started the first run,
 we will need to change that ourselves:<br>
@@ -1604,17 +1811,20 @@
 
 
 
+
     <span style="font-family: monospace;"># chmod +x
 dbloader.sh</span></li>
 
 
 
+
   <li>You may have to edit the dbloader.sh to reflect your version of
 the JDBC Driver for MySQL that you downloaded and placed in the&nbsp;
 $FABAN_HOME/benchmarks/JavaOlioDriver/lib in step 3 of <a href="#setupDriver">Setting Up the Driver</a> section. &nbsp;On line 51 of dbloader.sh, the CLASSPATH is currently set to MySQL JDBC driver version 5.0.6. &nbsp;<br>
 
 
 
+
 Eg. <span style="font-family: monospace;">CLASSPATH=$B/mysql-connector-java-5.0.6-bin.jar</span></li>
 
 
@@ -1623,6 +1833,7 @@
 
 
 
+
   <li>Run the loader script:<br>
 
 
@@ -1631,6 +1842,7 @@
 
 
 
+
     <span style="font-family: monospace;"># ./dbloader.sh <span style="font-style: italic;">&lt;dbserver&gt;
 &lt;load_scale&gt;</span></span><br>
 
@@ -1640,6 +1852,7 @@
 
 
 
+
 For a fully loaded T2000 (8x1.2Ghz) we are currently running a scale of
 around 1000. You can start small with a SCALE of 50 or so for initial
 testing<span style="font-weight: bold;">.</span></li>
@@ -1650,6 +1863,7 @@
 
 
 
+
   <span style="font-family: monospace;"></span>
 </ol>
 
@@ -1659,6 +1873,7 @@
 
 
 
+
 <h2><a name="startMemCached"></a><font size="4">Setting up memcached
 server</font></h2>
 
@@ -1668,6 +1883,7 @@
 
 
 
+
 Note - for the current version of Olio Java, you will not have need to
 install memcached servers. <br>
 
@@ -1677,6 +1893,7 @@
 
 
 
+
 <br>
 
 
@@ -1685,6 +1902,7 @@
 
 
 
+
 The Olio application uses memcached for caching the home page which
 dramatically reduces the load on the database. If you are running Olio
 to stress MySQL, you may not want to have the caching tier. In this
@@ -1701,6 +1919,7 @@
 
 
 
+
   <li>Download and install memcached on the system you plan to
 use. </li>
 
@@ -1710,6 +1929,7 @@
 
 
 
+
   <li>
     
     
@@ -1717,6 +1937,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;"><font size="3">Start
 the memcached server thus :<br>
 
@@ -1726,6 +1947,7 @@
 
 
 
+
     </font><font size="3"><span style="font-family: monospace;">#
 nohup /opt/coolstack/bin/memcached -m 256 -u mysql &amp;</span></font></p>
 
@@ -1735,6 +1957,7 @@
 
 
 
+
   </li>
 
 
@@ -1743,6 +1966,7 @@
 
 
 
+
   <li>
     
     
@@ -1750,6 +1974,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;">Edit the web.xml to
 reflect where you have installed your memcached servers (see Installing
 Web Application for more details).<font size="3"><span style="font-family: monospace;"><br>
@@ -1760,6 +1985,7 @@
 
 
 
+
     </span></font><font size="3">Note that the
 Faban harness will start the memcached servers before each run.</font></p>
 
@@ -1769,6 +1995,7 @@
 
 
 
+
   </li>
 
 
@@ -1777,6 +2004,7 @@
 
 
 
+
 </ol>
 
 
@@ -1785,6 +2013,7 @@
 
 
 
+
 <h2><a name="setupEmulator"><font size="4">Setting
 up the Geocoder
 Emulator</font></a></h2>
@@ -1795,6 +2024,7 @@
 
 
 
+
 <p>The Geocoder Emulator is a simple J2EE application that you
 can deploy on
 Glassfish or Tomcat. It is typically run on a driver machine. The
@@ -1807,6 +2037,7 @@
 
 
 
+
 <p>To build the geocoder:</p>
 
 
@@ -1815,6 +2046,7 @@
 
 
 
+
 <ul>
 
 
@@ -1823,6 +2055,7 @@
 
 
 
+
   <li>Build the geocoder.war file by going to the 'geocoder'
 directory and following the instructions in the README file.</li>
 
@@ -1832,6 +2065,7 @@
 
 
 
+
 </ul>
 
 
@@ -1840,6 +2074,7 @@
 
 
 
+
 <p>
 For Glassfish:</p>
 
@@ -1849,6 +2084,7 @@
 
 
 
+
 <ol>
 
 
@@ -1857,6 +2093,7 @@
 
 
 
+
   <li>Download and install Glassfish V2 from <a href="https://glassfish.dev.java.net/public/downloadsindex.html">https://glassfish.dev.java.net/public/downloadsindex.html.</a>
 &nbsp;(alternatively, you can use any J2EE container like Tomcat to
 deploy - see below)</li>
@@ -1867,6 +2104,7 @@
 
 
 
+
   <li>Copy the geocoder.war from the geocoder directory ($OLIO_HOME/geocoder) to
 $GLASSFISH_HOME/domains/domain1/autodeploy (domain1 is the default
 domain created with Glassfish)</li>
@@ -1877,6 +2115,7 @@
 
 
 
+
   <li>Start Glassfish by using $GLASSFISH_HOME/bin/asadmin
 start-domain domain1.</li>
 
@@ -1886,6 +2125,7 @@
 
 
 
+
 </ol>
 
 
@@ -1894,6 +2134,7 @@
 
 
 
+
 For Tomcat:
 <ol>
 
@@ -1903,6 +2144,7 @@
 
 
 
+
   <li>
     
     
@@ -1910,6 +2152,7 @@
     
     
     
+    
     <p>Download and install Tomcat (either from Cool Stack
 CSKtomcat package or directly from <a href="http://tomcat.apache.org/">http://tomcat.apache.org</a>)
 on the driver machine. The install directory doesn't matter &ndash;
@@ -1921,6 +2164,7 @@
 
 
 
+
   </li>
 
 
@@ -1929,6 +2173,7 @@
 
 
 
+
   <li>
     
     
@@ -1936,16 +2181,19 @@
     
     
     
+    
     <p>Build the geocoder.war file by going to the 'geocoder' directory and following the instructions in the README file.</p>
 
 
 
 
+
   </li>
 
 
 
 
+
   <li>Copy the geocoder.war file from the geocoder/dist directory to $TOMCAT_HOME/webapps.</li>
 
 
@@ -1954,6 +2202,7 @@
 
 
 
+
   <li>
     
     
@@ -1961,16 +2210,19 @@
     
     
     
+    
     <p>Start Tomcat using $TOMCAT_HOME/bin/startup.sh.</p>
 
 
 
 
+
   </li>
 
 
 
 
+
 </ol>
 
 
@@ -1979,6 +2231,7 @@
 
 
 
+
 <h2><a name="Installing_the_Web_Application_"></a>Installing
 the Web Application</h2>
 
@@ -1988,6 +2241,7 @@
 
 
 
+
 <br>
 
 
@@ -1996,6 +2250,7 @@
 
 
 
+
 The web application is a J2EE 5 web application. It requires the
 following
 components:<br>
@@ -2006,6 +2261,7 @@
 
 
 
+
 <br>
 
 
@@ -2014,6 +2270,7 @@
 
 
 
+
 <ol>
 
 
@@ -2022,8 +2279,10 @@
 
 
 
+
   <li>J2EE compliant application server (eg. <a href="https://glassfish.dev.java.net/public/downloadsindex.html">GlassFish
-v2.1</a>)</li>
+v2.1</a>) (see special <a href="#Note_to_WebLogic_Application_Server">Note for Oracle WebLogic</a> users)</li>
+
 
 
 
@@ -2039,6 +2298,7 @@
 
 
 
+
 </ol>
 
 
@@ -2047,6 +2307,7 @@
 
 
 
+
 Install the necessary components outlined above. &nbsp;For
 GlassFish
 specific instructions, see section on GlassFish Installation and
@@ -2058,6 +2319,7 @@
 
 
 
+
 Before building the WAR file to deploy on the application server, you
 will first have to edit the web descriptors to point to your database
 and geocoder that you set up in the previous steps. &nbsp;<br>
@@ -2068,6 +2330,7 @@
 
 
 
+
 <ol>
 
 
@@ -2076,6 +2339,7 @@
 
 
 
+
   <li>Edit web.xml in the application war file to configure
 the&nbsp;
 geocoder URL. &nbsp;This is found in
@@ -2087,6 +2351,8 @@
 
 
 
+
+  
   
   
   
@@ -2101,6 +2367,7 @@
 
 
 
+
     <li>Edit the env-entry for Geocoder URL to point to where
 your geocoder application is deployed.</li>
 
@@ -2110,6 +2377,8 @@
 
 
 
+
+  
   
   
   
@@ -2124,6 +2393,7 @@
 
 
 
+
 </ol>
 
 
@@ -2132,6 +2402,7 @@
 
 
 
+
 <h2><a name="Building_the_codebase"></a>Building
 the web application from the codebase</h2>
 
@@ -2141,6 +2412,7 @@
 
 
 
+
 <ol>
 
 
@@ -2149,6 +2421,7 @@
 
 
 
+
   <li>Set JAVA_HOME, ANT_HOME accordingly in your environment.<br>
 
 
@@ -2156,6 +2429,7 @@
 
 
 
+
   </li>
 
 
@@ -2164,6 +2438,7 @@
 
 
 
+
   <li>In the $WEBAPP/ws/bp-project directory, copy the
 build.properties.template to build.properties. &nbsp;Edit the
 build.properties for the relevant build details.
@@ -2176,6 +2451,7 @@
 
 
 
+
     <span style="font-family: monospace;">$ vi
 &lt;$WEBAPP&gt;/ws/bp-project/build.properties<br>
 
@@ -2184,6 +2460,7 @@
 
 
 
+
     <br>
 
 
@@ -2192,6 +2469,7 @@
 
 
 
+
     </span>Note that javaee.home needs to be pointed to the
 your Java EE 5 application server home directory, or if you're using
 GlassFish, the $GLASSFISH_HOME directory. &nbsp;It will look for the
@@ -2203,6 +2481,7 @@
 
 
 
+
   </li>
 
 
@@ -2211,6 +2490,7 @@
 
 
 
+
   <li>Change directories to the level of the webapp directory:<br>
 
 
@@ -2219,6 +2499,7 @@
 
 
 
+
     <span style="font-family: monospace;">$ cd
 &lt;$WEBAPP&gt;/ws/apps/webapp<br>
 
@@ -2227,6 +2508,7 @@
 
 
 
+
     </span></li>
 
 
@@ -2235,6 +2517,7 @@
 
 
 
+
   <li>Compile and jar the WAR file by executing the default
 "ant"command. &nbsp;You should see messages that the build is
 compiling:<br>
@@ -2245,6 +2528,7 @@
 
 
 
+
     <span style="font-family: monospace;"><br>
 
 
@@ -2253,6 +2537,7 @@
 
 
 
+
 $ ant<br>
 
 
@@ -2261,6 +2546,7 @@
 
 
 
+
 Buildfile: build.xml<br>
 
 
@@ -2269,147 +2555,191 @@
 
 
 
+
     <br>
 
 
+
 build:<br>
 
 
+
     <br>
 
 
+
 default:<br>
 
 
+
     <br>
 
 
+
 default-ear:<br>
 
 
+
     <br>
 
 
+
 init:<br>
 
 
+
     <br>
 
 
+
 -pre-compile:<br>
 
 
+
     <br>
 
 
+
 bpp-actual-compilation:<br>
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp; [echo] Compiling webapp<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [javac] Compiling 49 source files to
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/classes<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [javac] Note: Some input files use unchecked or unsafe operations.<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [javac] Note: Recompile with -Xlint:unchecked for details.<br>
 
 
+
     <br>
 
 
+
 include-jmaki-local:<br>
 
 
+
     <br>
 
 
+
 include-jmaki:<br>
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp; [echo] Copying jMaki Runtime to
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/./build/web<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [mkdir] Created dir:
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/temp<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [unzip] Expanding:
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/lib/ajax-wrapper-comp-1.8.1.jar
 into
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/temp<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [mkdir] Created dir:
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/resources<br>
 
 
+
 &nbsp;&nbsp; [delete] Deleting directory
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/temp<br>
 
 
+
     <br>
 
 
+
 -post-compile:<br>
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp; [copy] Copying 3 files to
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/classes<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [mkdir] Created dir:
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/WEB-INF/lib<br>
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp; [copy] Copying 7 files to
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/WEB-INF/lib<br>
 
 
+
     <br>
 
 
+
 ......<br>
 
 
+
 ......<br>
 
 
+
     <br>
 
 
+
 bpp-copy-dist:<br>
 
 
+
 &nbsp;&nbsp;&nbsp; [mkdir] Created dir: /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/dist<br>
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp; [copy] Copying 1 file to
 /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/dist<br>
 
 
+
     <br>
 
 
+
 default-not-ear:<br>
 
 
+
     <br>
 
 
+
 default:<br>
 
 
+
     <br>
 
 
+
 BUILD SUCCESSFUL<br>
 
 
+
     </span></li>
 
 
@@ -2418,8 +2748,11 @@
 
 
 
+
   <li>The resulting <span style="font-weight: bold;">webapp.wa</span>r
-file should be located in the&nbsp;<span style="font-family: monospace;">&lt;$OLIO_HOME&gt;</span><span style="font-family: monospace;">/ws/apps/webapp/dist </span>directory.</li>
+file should be located in the&nbsp;<span style="font-family: monospace;">&lt;$OLIO_HOME&gt;</span><span style="font-family: monospace;">/ws/apps/webapp/dist </span>directory.<br>
+  </li>
+
 
 
 
@@ -2428,6 +2761,83 @@
 
 
 </ol>
+<span style="font-weight: bold;"><a name="Note_to_WebLogic_Application_Server"></a>Note to WebLogic Application Server Users:</span><br>
+<br>
+If you are deploying Olio to Oracle WebLogic Server 11g Release 1
+(10.3.1), there is a WebLogic bug (8448313) that results in a JPA
+exception because lazy fetching is being used. &nbsp; The Exception
+stack trace will appear:<br>
+<br>
+<span style="font-family: monospace;">javax.persistence.PersistenceException:
+Exception [EclipseLink-0] (Eclipse Persistence Services -
+1.1.1.v20090430-r4097):
+org.eclipse.persistence.exceptions.IntegrityException</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">Descriptor Exceptions:</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">---------------------------------------------------------</span><br style="font-family: monospace;">
+<br style="font-family: monospace;">
+<span style="font-family: monospace;">Descriptor Exceptions:</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">---------------------------------------------------------</span><br style="font-family: monospace;">
+<br style="font-family: monospace;">
+<span style="font-family: monospace;">Exception [EclipseLink-60]
+(Eclipse Persistence Services - 1.1.1.v20090430-r4097):
+org.eclipse.persistence.exceptions.DescriptorException</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">Exception Description: The method
+[_persistence_setaddress_vh] or [_persistence_getaddress_vh] is not
+defined in the object [org.apache.olio.webapp.model.Person].</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">Internal Exception: java.lang.NoSuchMethodException: org.apache.olio.webapp.model.Person._persistence_getaddress_vh()</span><br>
+<br>
+This bug is&nbsp; related to loading classes before the weaver has a
+chance to execute that has been fixed in later editions and is
+available through support. &nbsp;As a workaround, you will have to
+statically weave the application classes after building but before
+deploying the application on WebLogic.<br>
+<br>
+There is an existing ant target "weave" that will perform the static
+weaving after compilation but before packaging the WAR file. &nbsp;You
+will just have to add the target 'weave' in the -post-compile step.<br>
+<div style="margin-left: 40px;">
+<ol>
+  <li>Open build.xml in the&nbsp;<span style="font-family: monospace;">&lt;$WEBAPP&gt;/ws/apps/webapp </span>directory. &nbsp;</li>
+  <li>&nbsp;Comment line 30 of build.xml :<br>
+    <span style="font-family: monospace;">30 &nbsp; &nbsp; &nbsp;&lt;target name="-post-compile" depends="init, include-jmaki-local"&gt;</span></li>
+  <li>Uncomment line 32 which has already added the target "weave" to the -post-compile target.<br>
+    <span style="font-family: monospace;">&nbsp;31&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- uncomment this line below to do static weaving for weblogic bug --&gt;</span><br style="font-family: monospace;">
+    <span style="font-family: monospace;">&nbsp;32&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--target name="-post-compile" depends="init, include-jmaki-local, weave"--&gt;</span></li>
+  <li>Since the 'weave' target calls an ant task
+(org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask), it
+needs class files from the javax.persistence_1.0.0.0_1-0-2.jar and
+eclipselink.jar to complete the task.</li>
+  <li>Copy &nbsp;the eclipselink.jar to the <span style="font-family: monospace;">$WEBAPP_HOME/ws/lib</span> directory (see step 3 of <a href="#GlassFish_Installation_and_Configuration">GlassFish Installation and Configuration</a>)</li>
+  <li>Specify the weblogic.lib environment variable in the ant call so that appropriate jar files can be found:<br>
+    <br>
+eg.<span style="font-family: monospace;"> ant -Dweblogic.lib=$my_weblogic_path/oracle/middleware/modules<br>
+    </span>Note that the <span style="font-family: monospace;">weblogic.lib</span>
+environment variable needs to be specified on the command line because
+of the call to the&nbsp;StaticWeaveAntTask and cannot read the
+variables within the build.xml or its imported build files.<br>
+  </li>
+  <li>You should note that the <span style="font-family: monospace;">copy-persistence-config, define.weave</span> and <span style="font-family: monospace;">weave</span> steps has taken place in the output. &nbsp;You can deploy the resulting WAR file to WebLogic.<br>
+...<br>
+    <span style="font-family: monospace;">include-jmaki-local:</span><br style="font-family: monospace;">
+    <br style="font-family: monospace;">
+    <span style="font-family: monospace;">include-jmaki:</span><br style="font-family: monospace;">
+    <span style="font-family: monospace;">copy-persistence-config:</span><br style="font-family: monospace;">
+    <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+[copy] Copying 1 file to
+/Users/klichong/projects/olio/webapp/java/trunk/ws/apps/webapp/build/classes/META-INF</span><br style="font-family: monospace;">
+    <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+[copy] Copying 1 file to
+/Users/klichong/projects/olio/webapp/java/trunk/ws/apps/webapp/build/classes/META-INF</span><br style="font-family: monospace;">
+    <br style="font-family: monospace;">
+    <span style="font-family: monospace;">define.weave:</span><br style="font-family: monospace;">
+    <br style="font-family: monospace;">
+    <span style="font-family: monospace;">weave:</span><br style="font-family: monospace;">
+    <br style="font-family: monospace;">
+    <span style="font-family: monospace;">-post-compile:</span><br style="font-family: monospace;">
+    <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; [copy] Copying 3 files to /Users/klichong/projects/olio/webapp/java/trunk/ws/apps/webapp/build/classes</span></li>
+</ol>
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ....</div>
+
 
 
 
@@ -2443,6 +2853,7 @@
 
 
 
+
 The Java Olio web application can be deployed on any Java EE compliant
 application server with a JPA provider.
 <ol>
@@ -2453,6 +2864,7 @@
 
 
 
+
   <li>
     
     
@@ -2460,6 +2872,7 @@
     
     
     
+    
     <p>Deploy
 the webapp.war from the $WEBAPP/ws/apps/webapp/dist directory to your
 Java EE 5 application server. &nbsp;<br>
@@ -2470,6 +2883,7 @@
 
 
 
+
 If you are using GlassFish, you can do so by
 either dropping the war file in the
 $GLASSFISH_HOME/domains/domain1/autodeploy directory. &nbsp;You can
@@ -2483,6 +2897,7 @@
 
 
 
+
   </li>
 
 
@@ -2491,6 +2906,7 @@
 
 
 
+
 </ol>
 
 
@@ -2499,6 +2915,7 @@
 
 
 
+
 <h2><a name="installWebApp"></a><font size="4">Configuring the Application Server</font></h2>
 
 
@@ -2507,6 +2924,7 @@
 
 
 
+
 <ol>
 
 
@@ -2515,6 +2933,7 @@
 
 
 
+
   <li>Download the JDBC driver for mysql from <a href="http://dev.mysql.com/downloads/connector/j/5.1.html">http://dev.mysql.com/downloads/connector/j/5.1.html.</a>&nbsp;
 Extract the mysql-connector-java-5.1.X-bin.jar and put this your
 application server classpath (or external library directory)</li>
@@ -2525,6 +2944,7 @@
 
 
 
+
   <li>Download a Java Persistence API (JPA) provider, eg.
 EclipseLink. &nbsp;You will have to download the eclipselink.jar
 from <a href="http://www.eclipse.org/eclipselink">http://www.eclipse.org/eclipselink</a>,
@@ -2536,6 +2956,7 @@
 
 
 
+
   <li>Create JDBC connection pool and resource for connecting to
 mySQL
 database. &nbsp;Below are examples for the properties used for the
@@ -2547,6 +2968,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp; * Name: Use this name when you configure
 the JDBC resource.&nbsp; eg. BPwebappPool<br>
 
@@ -2556,6 +2978,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp; * Resource Type: Specify the appropriate
 value, eg. javax.sql.DataSource<br>
 
@@ -2565,6 +2988,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp; * Database Vendor: mysql<br>
 
 
@@ -2573,6 +2997,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp; * DataSource Classname: Specify one of
 the following:<br>
 
@@ -2582,6 +3007,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o com.mysql.jdbc.jdbc2.optional.MysqlDataSource<br>
 
@@ -2591,6 +3017,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp; * Properties:<br>
 
 
@@ -2599,6 +3026,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o serverName -
 Specify the host name or IP address of the database server.<br>
@@ -2609,6 +3037,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o port - Specify the port number of the database server eg. 3306<br>
 
@@ -2618,6 +3047,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o user - Set as appropriate.<br>
 
@@ -2627,6 +3057,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o&nbsp; password - Set as appropriate.<br>
 
@@ -2636,6 +3067,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o databaseName - Set as appropriate, eg. bpwebapp<br>
 
@@ -2645,6 +3077,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o URL - If you
 are using global transactions, you can set this property instead of
@@ -2657,6 +3090,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 o Keep the rest of properties created.<br>
 
@@ -2666,6 +3100,7 @@
 
 
 
+
     <br>
 
 
@@ -2674,6 +3109,7 @@
 
 
 
+
 6.&nbsp; Create the JDBC resource with the JNDI name
 jdbc/BPWebappDB pointing to new resource created above.<br>
 
@@ -2683,6 +3119,7 @@
 
 
 
+
   </li>
 
 
@@ -2691,6 +3128,7 @@
 
 
 
+
 </ol>
 
 
@@ -2699,7 +3137,8 @@
 
 
 
-<h2><font size="4"><a name="Glassfish_Installation_and_Configuration"></a>&nbsp;Glassfish
+
+<h2><a name="GlassFish_Installation_and_Configuration"></a><font size="4"><a name="Glassfish_Installation_and_Configuration"></a>&nbsp;GlassFish
 Installation and Configuration</font></h2>
 
 
@@ -2708,6 +3147,7 @@
 
 
 
+
 <ol>
 
 
@@ -2716,6 +3156,7 @@
 
 
 
+
   <li>
     
     
@@ -2723,6 +3164,7 @@
     
     
     
+    
     <p>Install Glassfish application server V2 UR2 from <a href="https://glassfish.dev.java.net/public/downloadsindex.html"><span style="text-decoration: underline;">https://glassfish.dev.java.net/public/downloadsindex.html.</span></a>
     <br>
 
@@ -2732,6 +3174,7 @@
 
 
 
+
 The directory where Glassfish has been installed will now be referred
 to as $GLASSFISH_HOME. </p>
 
@@ -2741,6 +3184,7 @@
 
 
 
+
   </li>
 
 
@@ -2749,6 +3193,7 @@
 
 
 
+
   <li>
     
     
@@ -2756,6 +3201,7 @@
     
     
     
+    
     <p>Download the JDBC driver for mysql from <a href="http://dev.mysql.com/downloads/connector/j/5.1.html">http://dev.mysql.com/downloads/connector/j/5.1.html.</a>
 &nbsp; Extract the mysql-connector-java-5.1.X-bin.jar and drop this
 is
@@ -2768,6 +3214,7 @@
 
 
 
+
   </li>
 
 
@@ -2776,15 +3223,20 @@
 
 
 
+
   <li>The
 benchmark utilizes JPA (Java Persistence API) and has been benchmarked
 with the EclipseLink implementation. &nbsp;GlassFish v2
 uses TopLink as the default JPA implementation so you will have to download the
 eclipselink.jar from <a href="http://www.eclipse.org/eclipselink">http://www.eclipse.org/eclipselink</a>,
-and &nbsp;put this in $GLASSFISH_HOME/lib directory.&nbsp;&nbsp;This
+and &nbsp;put this in $GLASSFISH_HOME/lib directory. &nbsp;This
 is a concurrency <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238696">bug
-filed</a> on EclipseLink so you will need to get an EclipseLink build after
-July 2008. </li>
+filed</a>
+on EclipseLink so you will need to get a EclipseLink build after
+July 2008. &nbsp;Note that GlassFish v3 will use EclipseLink as the
+default JPA implementation but Olio has not been tested yet on
+GlassFish v3. </li>
+
 
 
 
@@ -2800,6 +3252,7 @@
 
 
 
+
   <li>Instructions on how to use the
 Glassfish admin
 interface is <a href="https://glassfish.dev.java.net/javaee5/admin-gui/admin-gui.html#Usage">https://glassfish.dev.java.net/javaee5/admin-gui/admin-gui.html#Usage</a>.
@@ -2812,6 +3265,7 @@
 
 
 
+
 Note:
 &nbsp;To use the admin interface, you will have to start Glassfish.
 &nbsp;To do
@@ -2825,6 +3279,7 @@
 
 
 
+
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;To
 stop Glassfish, use $GLASSFISH_HOME/bin/asadmin stop-domain domain1.</li>
 
@@ -2834,6 +3289,7 @@
 
 
 
+
   <li>
     
     
@@ -2841,6 +3297,7 @@
     
     
     
+    
     <p>Create JDBC connection pool and resource. &nbsp;Please
 consult <a href="https://glassfish.dev.java.net/javaee5/docs/AG/ablih.html">https://glassfish.dev.java.net/javaee5/docs/AG/ablih.html</a>
 for details. &nbsp;MM MySQL Type 4 Driver (Non-XA)<br>
@@ -2851,6 +3308,7 @@
 
 
 
+
 The JAR file for the MySQL driver is
 mysql-connector-java-version-bin.jar, for example,
 mysql-connector-java-5.1.6-bin.jar. Configure the connection pool
@@ -2862,6 +3320,7 @@
 
 
 
+
     </p>
 
 
@@ -2870,6 +3329,8 @@
 
 
 
+
+    
     
     
     
@@ -2884,6 +3345,7 @@
 
 
 
+
       <li>Name: Use this name when you configure the JDBC
 resource. &nbsp;eg. BPwebappPool</li>
 
@@ -2893,6 +3355,7 @@
 
 
 
+
       <li>Resource Type: Specify the appropriate value, eg.
 javax.sql.DataSource</li>
 
@@ -2902,6 +3365,7 @@
 
 
 
+
       <li>Database Vendor: mysql</li>
 
 
@@ -2910,6 +3374,7 @@
 
 
 
+
       <li>DataSource Classname: Specify one of the following:</li>
 
 
@@ -2918,6 +3383,8 @@
 
 
 
+
+      
       
       
       
@@ -2932,6 +3399,7 @@
 
 
 
+
         <li>com.mysql.jdbc.jdbc2.optional.MysqlDataSource</li>
 
 
@@ -2940,6 +3408,8 @@
 
 
 
+
+      
       
       
       
@@ -2954,6 +3424,7 @@
 
 
 
+
       <li>Properties:</li>
 
 
@@ -2962,6 +3433,8 @@
 
 
 
+
+      
       
       
       
@@ -2976,6 +3449,7 @@
 
 
 
+
         <li>serverName - Specify the host name or IP address of
 the database server.</li>
 
@@ -2985,6 +3459,8 @@
 
 
 
+
+      
       
       
       
@@ -2999,6 +3475,8 @@
 
 
 
+
+      
       
       
       
@@ -3013,6 +3491,7 @@
 
 
 
+
         <li>port - Specify the port number of the database server
 eg. 3306</li>
 
@@ -3022,6 +3501,8 @@
 
 
 
+
+      
       
       
       
@@ -3036,6 +3517,8 @@
 
 
 
+
+      
       
       
       
@@ -3050,6 +3533,7 @@
 
 
 
+
         <li>user - Set as appropriate, &nbsp;eg. olio</li>
 
 
@@ -3058,6 +3542,7 @@
 
 
 
+
         <li>&nbsp;password - Set as appropriate, eg. olio</li>
 
 
@@ -3066,6 +3551,7 @@
 
 
 
+
         <li>databaseName - Set as appropriate, eg. bpwebapp</li>
 
 
@@ -3074,6 +3560,7 @@
 
 
 
+
         <li>URL
 - If you are using global transactions, you can set this property
 instead of serverName, port, and databaseName, eg.
@@ -3085,6 +3572,7 @@
 
 
 
+
         <li>Keep the rest of properties created.</li>
 
 
@@ -3093,6 +3581,8 @@
 
 
 
+
+      
       
       
       
@@ -3107,6 +3597,8 @@
 
 
 
+
+    
     
     
     
@@ -3121,6 +3613,7 @@
 
 
 
+
 6. &nbsp;Create the JDBC resource with the JNDI name
 jdbc/BPWebappDB pointing to new resource created above. </li>
 
@@ -3130,6 +3623,7 @@
 
 
 
+
 </ol>
 
 
@@ -3138,6 +3632,7 @@
 
 
 
+
 <h2><a name="installWebApp"></a><font size="4">Tuning Glassfish</font></h2>
 
 
@@ -3146,6 +3641,7 @@
 
 
 
+
 <ol>
 
 
@@ -3154,6 +3650,7 @@
 
 
 
+
   <li>Go to the administration interface, eg.
 http://localhost:4848.</li>
 
@@ -3163,6 +3660,7 @@
 
 
 
+
   <li>
     
     
@@ -3170,6 +3668,7 @@
     
     
     
+    
     <p>Ensure that you have the JVM option "-server" and the heap
 size
 has been adequately sized. &nbsp;For benchmarking purposes, we have
@@ -3181,6 +3680,7 @@
 
 
 
+
   </li>
 
 
@@ -3189,6 +3689,7 @@
 
 
 
+
   <li>
     
     
@@ -3196,6 +3697,7 @@
     
     
     
+    
     <p>Start Glassfish. Check that you can connect to it from
 your
 browser (http://<i>host</i>:8080), but don't try to access
@@ -3208,6 +3710,7 @@
 
 
 
+
     </p>
 
 
@@ -3216,6 +3719,8 @@
 
 
 
+
+    
     
     
     
@@ -3230,6 +3735,7 @@
 
 
 
+
       <li>use $GLASSFISH_HOME/bin/asadmin start-domain domain1
 (or
 whatever your
@@ -3241,6 +3747,7 @@
 
 
 
+
       <li>To
 stop Glassfish, use $GLASSFISH_HOME/bin/asadmin stop-domain domain1.</li>
 
@@ -3250,6 +3757,8 @@
 
 
 
+
+    
     
     
     
@@ -3264,6 +3773,7 @@
 
 
 
+
   </li>
 
 
@@ -3272,6 +3782,7 @@
 
 
 
+
 </ol>
 
 
@@ -3280,6 +3791,7 @@
 
 
 
+
 <h2><font size="4">Setting up the
 filestore</font></h2>
 
@@ -3289,6 +3801,7 @@
 
 
 
+
 <p><font size="3">Olio for Java EE can be configured to
 use either a local
 filesystem or MogileFS for the object data. Our initial testing with
@@ -3312,6 +3825,7 @@
 
 
 
+
 <ol>
 
 
@@ -3320,6 +3834,7 @@
 
 
 
+
   <li>
     
     
@@ -3327,6 +3842,7 @@
     
     
     
+    
     <p><font size="3">Create a directory (or mount a
 filesystem) designated for storing the image and binary files. This
 directory is referred to as &lt;filestore&gt;. Any valid name
@@ -3340,6 +3856,7 @@
 
 
 
+
     </font><font size="3"><span style="font-family: monospace;"># mkdir -p <span style="font-style: italic;">&lt;filestore&gt;</span></span><br style="font-family: monospace;">
 
 
@@ -3348,6 +3865,7 @@
 
 
 
+
     <span style="font-family: monospace;"># chmod a+rwx <span style="font-style: italic;">&lt;filestore&gt;</span></span></font></p>
 
 
@@ -3356,6 +3874,7 @@
 
 
 
+
   </li>
 
 
@@ -3364,6 +3883,7 @@
 
 
 
+
   <li>
     
     
@@ -3371,6 +3891,7 @@
     
     
     
+    
     <p><font size="3">Now load the filestore.
 &nbsp;You should have the $FABAN_HOME/benchmarks/JavaOlioDriver.jar
 file on this system.</font><br>
@@ -3381,6 +3902,7 @@
 
 
 
+
     <font size="3"><font style="font-family: monospace;" size="3">#&nbsp;<span style="font-style: italic;"></span></font></font>cd
 $FABAN_HOME/benchmarks; mkdir olio<br>
 
@@ -3390,6 +3912,7 @@
 
 
 
+
     <br>
 
 
@@ -3398,6 +3921,7 @@
 
 
 
+
 # cd olio; jar xvf ../JavaOlioDriver.jar; chmod a+x bin/*<br>
 
 
@@ -3406,6 +3930,7 @@
 
 
 
+
 # $FABAN_HOME/benchmarks/olio/bin/fileloader.sh
 &lt;load_scale&gt; $FILESTORE<br>
 
@@ -3415,6 +3940,7 @@
 
 
 
+
     <br>
 
 
@@ -3423,6 +3949,7 @@
 
 
 
+
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This loads files for
 use for up to<span style="font-style: italic;"> load_scale</span> number of active users.<font size="3"><font style="font-family: monospace;" size="3">&nbsp;<br>
 
@@ -3432,6 +3959,7 @@
 
 
 
+
     <br>
 
 
@@ -3440,6 +3968,7 @@
 
 
 
+
     </font></font><font size="3"><font size="3"><span style="font-family: monospace;"></span></font></font><font size="3"><font size="3"><font>Eg.
 To load the filestore for 1000 users, you would do the following:</font></font></font><font size="3"><font size="3"><span style="font-family: monospace;"></span></font></font><br>
 
@@ -3449,6 +3978,7 @@
 
 
 
+
     <span style="font-family: monospace;"># cd
 /filestore/artifacts</span><br style="font-family: monospace;">
 
@@ -3458,6 +3988,7 @@
 
 
 
+
     <span style="font-family: monospace;">#
 /opt/faban/benchmarks/JavaOlioDriver/bin/fileloader.sh 1000 .</span></p>
 
@@ -3467,6 +3998,7 @@
 
 
 
+
     <font size="3"><font size="3"><span style="font-family: monospace;"></span></font></font>
     
     
@@ -3474,6 +4006,7 @@
     
     
     
+    
     <p><font size="3"><font size="3">This
 loads files for use for up to <span style="font-family: monospace; font-style: italic;">load_scale</span>
 number of concurrent users.&nbsp;</font></font></p>
@@ -3484,6 +4017,7 @@
 
 
 
+
   </li>
 
 
@@ -3492,6 +4026,7 @@
 
 
 
+
   <li><font size="3"><font size="3">The filestore location is read
 from the application server as a Java environment
 variable,&nbsp;webapp.image.directory. &nbsp;To set the value of the
@@ -3506,11 +4041,13 @@
 
 
 
+
     </font></font><font size="3"><font size="3"><span style="font-family: monospace;"><br>
 
 
 
 
+
     </span></font></font><font size="3"><font size="3"><span style="font-family: monospace;"></span></font></font></li>
 
 
@@ -3519,6 +4056,7 @@
 
 
 
+
 </ol>
 
 
@@ -3527,6 +4065,7 @@
 
 
 
+
 <font size="3"><font size="3"><span style="font-family: monospace;"></span></font></font>
 <h2><font><font size="4">Testing the
 Application</font></font></h2>
@@ -3537,6 +4076,7 @@
 
 
 
+
 <ol>
 
 
@@ -3545,6 +4085,7 @@
 
 
 
+
   <li>
     
     
@@ -3552,6 +4093,7 @@
     
     
     
+    
     <p><font size="3">Check the home page (HomePage)
 http://&lt;web_server&gt;:8080/webapp/index.jsp. If there are
 no
@@ -3563,6 +4105,7 @@
 
 
 
+
   </li>
 
 
@@ -3571,6 +4114,7 @@
 
 
 
+
   <li>
     
     
@@ -3578,6 +4122,7 @@
     
     
     
+    
     <p><font size="3">Click on an event
 (EventDetail). Make sure the whole page looks OK. </font> </p>
 
@@ -3587,6 +4132,7 @@
 
 
 
+
   </li>
 
 
@@ -3595,6 +4141,7 @@
 
 
 
+
   <li>
     
     
@@ -3602,6 +4149,7 @@
     
     
     
+    
     <p><font size="3">Click on an attendee
 (PersonDetail) to see a person's profile. </font> </p>
 
@@ -3611,6 +4159,7 @@
 
 
 
+
   </li>
 
 
@@ -3619,6 +4168,7 @@
 
 
 
+
   <li>
     
     
@@ -3626,6 +4176,7 @@
     
     
     
+    
     <p><font size="3">Go back to the home page and
 click on a tag in the tag cloud. Choose a big tag and check that we
 have good results and images get loaded OK. </font> </p>
@@ -3636,6 +4187,7 @@
 
 
 
+
   </li>
 
 
@@ -3644,6 +4196,7 @@
 
 
 
+
   <li>
     
     
@@ -3651,6 +4204,7 @@
     
     
     
+    
     <p><font size="3">Click on the Register button on the top left of the home page. Fill
 in the form and create a user. Make sure you find some jpeg images to
 upload. If not, take them from $FABAN_HOME/benchmarks/JavaOlioDriver/resources. <br>
@@ -3661,6 +4215,7 @@
 
 
 
+
 Submit the form. Make sure the form goes through. This completes the
 AddPerson transaction. </font> </p>
 
@@ -3670,6 +4225,7 @@
 
 
 
+
   </li>
 
 
@@ -3678,6 +4234,7 @@
 
 
 
+
   <li>
     
     
@@ -3685,6 +4242,7 @@
     
     
     
+    
     <p><font size="3">Login using your new login
 name you just created. The top right of the screen should show that
 you're logged on. </font> </p>
@@ -3695,6 +4253,7 @@
 
 
 
+
   </li>
 
 
@@ -3703,6 +4262,7 @@
 
 
 
+
   <li>
     
     
@@ -3710,6 +4270,7 @@
     
     
     
+    
     <p><font size="3">Select an event, go back to
 the EventDetail page but this time as a logged on user. <br>
 
@@ -3719,6 +4280,7 @@
 
 
 
+
 Add yourself as an attendee. This is the EventDetail transaction with
 attendee added (about 8-9% of all EventDetail views). </font> </p>
 
@@ -3728,6 +4290,7 @@
 
 
 
+
   </li>
 
 
@@ -3736,6 +4299,7 @@
 
 
 
+
   <li>
     
     
@@ -3743,6 +4307,7 @@
     
     
     
+    
     <p><font size="3">Click on the add event tab and
 add an event. Make sure to include an image and some literature. You
 can also use the files from <br>
@@ -3753,6 +4318,7 @@
 
 
 
+
 $FABAN_HOME/benchmarks/JavaOlioDriver/resources. Fill in the form and submit.
 This is the AddEvent transaction. <br>
 
@@ -3762,6 +4328,7 @@
 
 
 
+
     <br>
 
 
@@ -3770,6 +4337,7 @@
 
 
 
+
     </font> </p>
 
 
@@ -3778,6 +4346,7 @@
 
 
 
+
   </li>
 
 
@@ -3786,6 +4355,7 @@
 
 
 
+
 </ol>
 
 
@@ -3794,6 +4364,7 @@
 
 
 
+
 <h2><a name="startRun"></a><font size="4">Starting
 a benchmark run</font></h2>
 
@@ -3803,6 +4374,7 @@
 
 
 
+
 <p style="margin-bottom: 0in;">Now that we know that the
 web
 application is running and the faban harness is up, it is time to
@@ -3814,6 +4386,7 @@
 
 
 
+
 <ol>
 
 
@@ -3822,6 +4395,7 @@
 
 
 
+
   <li>Kill memcached. Memcached is always started by the driver
 before the run to ensure a clean cache and will cause port conflicts if
 it is already running.</li>
@@ -3832,6 +4406,7 @@
 
 
 
+
   <li>
     
     
@@ -3839,6 +4414,7 @@
     
     
     
+    
     <p>Point your browser at http://<i>&lt;driver_machine&gt;</i>:9980</p>
 
 
@@ -3847,6 +4423,7 @@
 
 
 
+
   </li>
 
 
@@ -3855,6 +4432,7 @@
 
 
 
+
   <li>
     
     
@@ -3862,6 +4440,7 @@
     
     
     
+    
     <p>Click on the <span style="font-style: normal;"><b>Schedule
 Run</b></span> link.</p>
 
@@ -3871,6 +4450,7 @@
 
 
 
+
   </li>
 
 
@@ -3879,6 +4459,7 @@
 
 
 
+
   <li>
     
     
@@ -3886,6 +4467,7 @@
     
     
     
+    
     <p>Under the JAVA tab, set the JAVA_HOME. You can accept the
 default value for JVM options. <span style="font-weight: bold;">DO
 NOT</span> click on the OK button yet !</p>
@@ -3896,6 +4478,7 @@
 
 
 
+
   </li>
 
 
@@ -3904,6 +4487,7 @@
 
 
 
+
   <li>
     
     
@@ -3911,6 +4495,7 @@
     
     
     
+    
     <p>Select the Driver tab. </p>
 
 
@@ -3919,6 +4504,8 @@
 
 
 
+
+    
     
     
     
@@ -3936,6 +4523,8 @@
 
 
 
+
+    
     
     
     
@@ -3952,6 +4541,8 @@
 
 
 
+
+    
     
     
     
@@ -3967,6 +4558,8 @@
 
 
 
+
+    
     
     
     
@@ -3984,6 +4577,8 @@
 
 
 
+
+    
     
     
     
@@ -4001,6 +4596,8 @@
 
 
 
+
+    
     
     
     
@@ -4019,6 +4616,7 @@
 
 
 
+
   </li>
 
 
@@ -4027,6 +4625,7 @@
 
 
 
+
   <li>
     
     
@@ -4034,6 +4633,7 @@
     
     
     
+    
     <p>Select the Web Server tab.<br>
 
 
@@ -4042,9 +4642,11 @@
 
 
 
+
     <br>
 
 
+
 The number of Agents is best the same or multiple the number of driver
 machines - we start with 1. The Host:Port Pairs field takes the host
 port pairs where the web applications are running. The host and port is
@@ -4053,9 +4655,11 @@
 hostname or IP number. <br>
 
 
+
     <br>
 
 
+
 For the
 Webserver type field, enter either "GlassFish" dependent on which web
 server you're using, or leave the field blank if you're using servers
@@ -4064,17 +4668,21 @@
 directories. &nbsp;<br>
 
 
+
     <br>
 
 
+
 You can ignore the box for the directory
 containing
 the php.ini file in the respective fields - that field is for the PHP version of Olio. <br>
 
 
+
     <br>
 
 
+
 Next, choose the server type
 to be Java, if it is not already that way. Then, in the tools box, type
 the tools you want to run. Here are the tools we typically run : vmstat
@@ -4086,6 +4694,8 @@
 
 
 
+
+    
     
     
     
@@ -4102,9 +4712,11 @@
 before the run.<br>
 
 
+
     <br>
 
 
+
 The number of Agents is
 the same as the number of driver machines &ndash; we start with 1.</p>
 
@@ -4114,6 +4726,8 @@
 
 
 
+
+    
     
     
     
@@ -4126,6 +4740,7 @@
 number. <br>
 
 
+
  </p>
 
 
@@ -4134,6 +4749,8 @@
 
 
 
+
+    
     
     
     
@@ -4149,6 +4766,7 @@
 
 
 
+
   </li>
 
 
@@ -4157,6 +4775,7 @@
 
 
 
+
   <li>
     
     
@@ -4164,6 +4783,7 @@
     
     
     
+    
     <p style="margin-bottom: 0in;">Select the Data Servers
 tab.</p>
 
@@ -4173,6 +4793,8 @@
 
 
 
+
+    
     
     
     
@@ -4184,6 +4806,7 @@
 Connection URL. &nbsp; &nbsp;Note that you cannot use the string "localhost" - you must specify a valid hostname or IP number. <br>
 
 
+
  This is used by the loader program to reload the
 database before a run. Set the 'Loader for Concurrent Users' to 25
 (this is the minimum number of users we can load for and is good for up
@@ -4199,6 +4822,8 @@
 
 
 
+
+    
     
     
     
@@ -4215,6 +4840,8 @@
 
 
 
+
+    
     
     
     
@@ -4234,6 +4861,7 @@
 
 
 
+
     <span style="font-weight: bold;">*NOTE - the memcache
 server information is not necessary in this release of Java Olio. &nbsp;You can leave these fields blank</span></p>
 
@@ -4243,6 +4871,7 @@
 
 
 
+
   </li>
 
 
@@ -4251,6 +4880,7 @@
 
 
 
+
   <li>
     
     
@@ -4258,6 +4888,7 @@
     
     
     
+    
     <p>That's it. Click OK and the run should be scheduled. You
 can click on the View Results link on the left to monitor the run.</p>
 
@@ -4267,6 +4898,7 @@
 
 
 
+
   </li>
 
 
@@ -4275,6 +4907,7 @@
 
 
 
+
 </ol>
 
 
@@ -4283,6 +4916,7 @@
 
 
 
+
 <br>
 
 
@@ -4291,5 +4925,6 @@
 
 
 
+
 </body>
 </html>

Modified: incubator/olio/webapp/java/trunk/ws/apps/webapp/build.xml
URL: http://svn.apache.org/viewvc/incubator/olio/webapp/java/trunk/ws/apps/webapp/build.xml?rev=818162&r1=818161&r2=818162&view=diff
==============================================================================
--- incubator/olio/webapp/java/trunk/ws/apps/webapp/build.xml (original)
+++ incubator/olio/webapp/java/trunk/ws/apps/webapp/build.xml Wed Sep 23 16:49:21 2009
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!--
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -17,93 +17,61 @@
  * limitations under the License.
  *
 -->
-<project name="webapp" default="default" basedir=".">
-    <description>Builds, tests, and runs the project webapp</description>
-
-    <property name="is.war.module" value="true"/>
-    <property name="dojo.zip" value="../../lib/dojo/dojo-0.4.1-ajax.zip" />
-    <property name="mvc.dir" value="../../commons/mvc"/>
-    <available property="mvc_jar.present" file="${file.reference.mvc.jar}"/>
-    <property name="webapp.lib" value="${basedir}/../../lib"/> 
-    <target name="-pre-compile" depends="init"/>
- 
-    <target name="-post-compile" depends="init, include-jmaki-local">
-        <!-- copy property files into build directory -->
-        <copy todir="${build.classes.dir}" overwrite="true">
-            <fileset dir="src/java">
-                <include name="**/*.properties"/>
-            </fileset>
-        </copy>
-       
-        <mkdir dir="${build.web.dir}/WEB-INF/lib"/>
-        <copy todir="${build.web.dir}/WEB-INF/lib">
-            <!-- fileset file="${file.reference.mvc.jar}"/ -->
-            <fileset file="${webapp.lib}/jdom.jar"/>
-            <fileset file="${webapp.lib}/rome-0.9.jar"/>
-            <fileset file="${webapp.lib}/rome-fetcher-0.9.jar"/>
-            <fileset file="${webapp.lib}/commons-fileupload-1.2.jar"/>
-            <fileset file="${webapp.lib}/commons-io-1.2.jar"/>
-            <fileset file="${webapp.lib}/java_memcached-release_1.5.1.jar"/>
-            <fileset file="${webapp.lib}/ajax-wrapper-comp-1.8.1.jar"/>
-            <fileset file="${webapp.lib}/JSON.jar"/>
-            <!-- add jersey files -->
-            <fileset file="${webapp.lib}/jersey/asm-3.1.jar"/>
-            <fileset file="${webapp.lib}/jersey/jackson-lgpl-0.9.4.jar"/>
-            <fileset file="${webapp.lib}/jersey/jersey-client-1.1.0-ea.jar"/>
-            <fileset file="${webapp.lib}/jersey/jersey-json-1.1.0-ea.jar"/>
-            <fileset file="${webapp.lib}/jersey/jettison-1.1.jar"/>
-            <fileset file="${webapp.lib}/jersey/jackson-lgpl-0.9.4.jar"/>
-            <fileset file="${webapp.lib}/jersey/jersey-core-1.1.0-ea.jar"/>
-            <fileset file="${webapp.lib}/jersey/jersey-server-1.1.0-ea.jar"/>
-            <fileset file="${webapp.lib}/jersey/jsr311-api-1.1.jar"/>
-            <fileset file="${webapp.lib}/jersey/jersey-multipart-1.0.2.jar"/>
-
-
-        </copy>
-
-        <available file="${build.dir}/web/dojo.js" type="file" property="dojo.already.exists"/>        
-        <antcall target="dojo"/>
-
-        <antcall target="insert-proxy-settings"/>
-    </target>        
-    
-    
-    <target name="insert-proxy-settings">
-        <copy todir="${build.web.dir}/WEB-INF/" file="web/WEB-INF/web.xml"/>
-        <concat destfile="${build.dir}/proxy.properties">proxy.host=${proxy.host}
-            proxy.port=${proxy.port}
-            <filterchain>
-                <expandproperties/>
-            </filterchain>
-        </concat>
-        <!-- Replace value of the proxy settings in web.xml for Google maps -->
-        <replace file="${build.web.dir}/WEB-INF/web.xml" propertyFile="${build.dir}/proxy.properties">          
-            <replacefilter token="@@proxy.host@@" property="proxy.host"/>
-            <replacefilter token="@@proxy.port@@" property="proxy.port"/>
-        </replace>        
+<project name="live" default="build" basedir=".">
+    
+    <target name="build">
+        <ant dir="apps" inheritAll="false" inheritRefs="false"/>
     </target>
     
-    <target name="checkLines">
-        <fixcrlf srcdir="./src" tab="remove" tablength="4" eol="unix" includes="**/*.properties,**/*.jsp,**/*.html,**/*.sh,**/*.java,**/*.xml" excludes="**/ja/**" />
+    <target name="compile" depends="build"></target>
+    
+    <target name="deploy" depends="build">
+        <ant dir="apps" target="deploy" inheritAll="false" inheritRefs="false"/>
+        <ant dir="apps" target="deploy" inheritAll="false" inheritRefs="false"/>
+    </target>
+    
+    <target name="undeploy">
+        <ant dir="apps" target="undeploy" inheritAll="false" inheritRefs="false"/>
+        <ant dir="apps" target="undeploy" inheritAll="false" inheritRefs="false"/>
+    </target>
+    
+    <target name="run" depends="deploy">
+        <ant dir="apps" target="run" inheritAll="false" inheritRefs="false"/>
     </target>
     
-    <target name="dojo" unless="dojo.already.exists" description="Unzips the dojo.zip to the right place">
-        <echo message="Unzipping dojo framework..."/>
-        <unzip src="${dojo.zip}" dest="${build.dir}/web" >
-            <patternset>
-                <include name="**/dojo.js"/>
-                <include name="**/iframe_history.html"/>
-                <include name="**/src/**"/>
-            </patternset>
-        </unzip>
-    </target>
- 
-   <target name="include-jmaki-local">
-        <ant dir="../../" inheritAll="true" target="include-jmaki">
-            <property name="jmaki.zip" value="lib/ajax-wrapper-comp-1.8.1.jar" />
-            <property name="target.dir" value="${basedir}/${build.dir}/web"/>
-        </ant>
+    <target name="setup">
+        <ant dir="apps" target="setup" inheritAll="false" inheritRefs="false"/>
+    </target>
+    
+    <target name="unsetup">
+        <ant dir="apps" target="unsetup" inheritAll="false" inheritRefs="false"/>
+    </target>
+    
+    <target name="clean">
+        <delete dir="dist"/>
+        <ant dir="apps" target="clean" inheritAll="false" inheritRefs="false"/>
+    </target>
+    
+    <target name="checkLines">
+        <fixcrlf srcdir="./apps" tab="remove" tablength="4" eol="unix" includes="**/*.properties,**/*.jsp,**/*.html,**/*.sh,**/*.java,**/*.xml" excludes="**/ja/**" />
+        <fixcrlf srcdir="./docs" tab="remove" tablength="4" eol="unix" includes="**/*.properties,**/*.jsp,**/*.html,**/*.sh,**/*.java,**/*.xml" excludes="**/ja/**" />
+    </target>
+        
+    <target name="include-jmaki">
+        <echo>Copying jMaki Runtime to ${target.dir}</echo>
+        <mkdir dir="${target.dir}/temp"/>
+        <unzip src="${jmaki.zip}" dest="${target.dir}/temp" />
+        <mkdir dir="${target.dir}/resources"/>
+        <!--
+        <copy todir="${target.dir}/resources">
+            <fileset dir="${target.dir}/temp/jmaki-core/web/resources" excludes="**/config.json,**/hello**,**/xsl**, **/xhp.json"/>      
+        </copy>
+        <mkdir dir="${target.dir}/WEB-INF/lib"/>
+        <copy todir="${target.dir}/WEB-INF/lib">
+            <fileset dir="${target.dir}/temp/jmaki-core/web/WEB-INF/lib" includes="**/**"/>      
+        </copy>      
+        -->
+        <delete dir="${target.dir}/temp"/>
     </target>
-    <import file="../../bp-project.xml"/>
     
 </project>

Added: incubator/olio/webapp/java/trunk/ws/apps/webapp/src/conf/orm.xml
URL: http://svn.apache.org/viewvc/incubator/olio/webapp/java/trunk/ws/apps/webapp/src/conf/orm.xml?rev=818162&view=auto
==============================================================================
--- incubator/olio/webapp/java/trunk/ws/apps/webapp/src/conf/orm.xml (added)
+++ incubator/olio/webapp/java/trunk/ws/apps/webapp/src/conf/orm.xml Wed Sep 23 16:49:21 2009
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+<entity-mappings version="1.0" xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd">
+-->
+<entity-mappings xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm xsd/eclipselink_orm_1_0.xsd" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+<!--
+  <persistence-unit-metadata>
+    <xml-mapping-metadata-complete />
+  </persistence-unit-metadata>
+-->
+    <entity name="SocialEvent" class="org.apache.olio.webapp.model.SocialEvent">
+        <named-query name="fetchComments">
+          <query>SELECT c FROM CommentsRating c JOIN FETCH c.userName WHERE c.socialEvent.socialEventID = :id</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="1000"/>
+        </named-query>
+        <named-query name="getAllSocialEvents">
+          <query>SELECT i FROM SocialEvent i WHERE i.eventTimestamp >= CURRENT_TIMESTAMP ORDER BY i.eventTimestamp ASC</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="100"/>
+        </named-query>
+        <named-query name="getAllSocialEventsCount">
+          <query>SELECT COUNT(i) FROM SocialEvent i WHERE i.eventTimestamp >= CURRENT_TIMESTAMP</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="100"/>
+        </named-query>
+    </entity> 
+    <entity name="SocialEventTag" class="org.apache.olio.webapp.model.SocialEventTag">
+        <named-query name="getAllTags">
+          <query>SELECT t FROM SocialEventTag t ORDER BY t.refCount DESC</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="1000"/>
+        </named-query>
+        <named-query name="getSocialEventTag">
+          <query>SELECT t FROM SocialEventTag t WHERE t.tag = :tag</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="1000"/>
+        </named-query>
+    </entity>
+    <entity name="Person" class="org.apache.olio.webapp.model.Person">
+        <named-query name="getPostedEvents">
+          <query>SELECT s FROM SocialEvent s WHERE s.submitterUserName = :submitter</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="500"/>
+        </named-query>
+        <named-query name="getIncomingInvitations">
+          <query>SELECT i FROM Invitation i WHERE i.candidate.userName = :candidate</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="500"/>
+        </named-query>
+        <named-query name="getOutgoingInvitations">
+          <query>SELECT i FROM Invitation i WHERE i.requestor.userName = :requestor</query>
+          <hint name="eclipselink.query-results-cache" value="true"/>
+          <hint name="eclipselink.query-results-cache.size" value="500"/>
+        </named-query>
+    </entity>
+    <entity name="Address" class="org.apache.olio.webapp.model.Address"/>
+    <entity name="Invitation" class="org.apache.olio.webapp.model.Invitation"/>
+    <entity name="CommentsRating" class="org.apache.olio.webapp.model.CommentsRating"/>
+</entity-mappings>

Modified: incubator/olio/webapp/java/trunk/ws/bp-project/persistence-unit-ant.xml
URL: http://svn.apache.org/viewvc/incubator/olio/webapp/java/trunk/ws/bp-project/persistence-unit-ant.xml?rev=818162&r1=818161&r2=818162&view=diff
==============================================================================
--- incubator/olio/webapp/java/trunk/ws/bp-project/persistence-unit-ant.xml (original)
+++ incubator/olio/webapp/java/trunk/ws/bp-project/persistence-unit-ant.xml Wed Sep 23 16:49:21 2009
@@ -39,7 +39,11 @@
   <target name="bpp-package-persistence-unit-war" if="is.war.module">
     <mkdir dir="${war.build.dir}/WEB-INF/classes/META-INF"/>
     <copy file="${src.conf}/persistence.xml" todir="${pu.build.dir}/WEB-INF/" failonerror="false" />
+  <copy file="${src.conf}/persistence.xml" todir="${war.build.dir}/WEB-INF/" failonerror="false" />
     <copy file="${src.conf}/persistence.xml" todir="${war.build.dir}/WEB-INF/classes/META-INF" failonerror="false" />
+<!-- adding orm.xml too -->
+    <copy file="${src.conf}/orm.xml" todir="${pu.build.dir}/WEB-INF/" failonerror="false" />
+    <copy file="${src.conf}/orm.xml" todir="${war.build.dir}/WEB-INF/classes/META-INF" failonerror="false" />
   </target>
 
   <target name="bpp-package-persistence-unit-ejb-jar" if="is.ejb-jar.module">