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. Keep in
@@ -338,11 +379,13 @@
+
<br>
+
Java Olio is available either as a kit, or by downloading the source.
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 </a></li>
@@ -484,6 +544,7 @@
+
<li><a href="http://subversion.tigris.org/">Subversion: </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-<version>.tar.gz | gtar xvf -<br>
+
<br>
+
This will cause a directory named olio-java-<version> 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> 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> <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 - 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. 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. 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 $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><driver_machine></i>:9980.
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. 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 $MYSQL_HOME -g mysql -s /usr/bin/bash </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 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. 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;">$ </span><span style="font-family: monospace;">./mysqld_safe --defaults-file=/etc/my.cnf &</span><br style="font-family: monospace;">
@@ -1301,6 +1474,7 @@
+
<span style="font-family: monospace;">$ ./mysqladmin
-u root password <span style="font-style: italic;"><your-</span></span><i style="font-family: monospace;"><span style="font-style: italic;">password></span><br>
@@ -1310,6 +1484,7 @@
+
$ </i><span style="font-family: monospace;">./mysqladmin
-u root -h <machine-name> password</span><i style="font-family: monospace;">
<your-password></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>
create user 'olio'@'%' identified by 'olio';</span><br style="font-family: monospace;">
@@ -1361,6 +1541,7 @@
+
<span style="font-family: monospace;">mysql>
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>
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>
create database bpwebapp;</span><br style="font-family: monospace;">
@@ -1442,6 +1631,7 @@
+
<span style="font-family: monospace;">mysql>
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> \.</span><span style="font-style: italic; font-family: monospace;">
<location></span><span style="font-family: monospace;">/schema.sql<br>
@@ -1498,6 +1693,7 @@
+
mysql> exit</span><span style="font-family: monospace;"><br>
@@ -1506,6 +1702,7 @@
+
</span> 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
$FABAN_HOME/benchmarks/JavaOlioDriver/lib in step 3 of <a href="#setupDriver">Setting Up the Driver</a> section. On line 51 of dbloader.sh, the CLASSPATH is currently set to MySQL JDBC driver version 5.0.6. <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;"><dbserver>
<load_scale></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 &</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>
(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 –
@@ -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. 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. <br>
@@ -2068,6 +2330,7 @@
+
<ol>
@@ -2076,6 +2339,7 @@
+
<li>Edit web.xml in the application war file to configure
the
geocoder URL. 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. Edit the
build.properties for the relevant build details.
@@ -2176,6 +2451,7 @@
+
<span style="font-family: monospace;">$ vi
<$WEBAPP>/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. 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
<$WEBAPP>/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. 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>
+
[echo] Compiling webapp<br>
+
[javac] Compiling 49 source files to
/Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/classes<br>
+
[javac] Note: Some input files use unchecked or unsafe operations.<br>
+
[javac] Note: Recompile with -Xlint:unchecked for details.<br>
+
<br>
+
include-jmaki-local:<br>
+
<br>
+
include-jmaki:<br>
+
[echo] Copying jMaki Runtime to
/Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/./build/web<br>
+
[mkdir] Created dir:
/Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/temp<br>
+
[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>
+
[mkdir] Created dir:
/Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/resources<br>
+
[delete] Deleting directory
/Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/temp<br>
+
<br>
+
-post-compile:<br>
+
[copy] Copying 3 files to
/Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/classes<br>
+
[mkdir] Created dir:
/Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/build/web/WEB-INF/lib<br>
+
[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>
+
[mkdir] Created dir: /Users/klichong/projects/java_testOlio/JavaOlio/webapp/java/trunk/ws/apps/webapp/dist<br>
+
[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 <span style="font-family: monospace;"><$OLIO_HOME></span><span style="font-family: monospace;">/ws/apps/webapp/dist </span>directory.</li>
+file should be located in the <span style="font-family: monospace;"><$OLIO_HOME></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. 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 related to loading classes before the weaver has a
+chance to execute that has been fixed in later editions and is
+available through support. 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. 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 <span style="font-family: monospace;"><$WEBAPP>/ws/apps/webapp </span>directory. </li>
+ <li> Comment line 30 of build.xml :<br>
+ <span style="font-family: monospace;">30 <target name="-post-compile" depends="init, include-jmaki-local"></span></li>
+ <li>Uncomment line 32 which has already added the target "weave" to the -post-compile target.<br>
+ <span style="font-family: monospace;"> 31 <!-- uncomment this line below to do static weaving for weblogic bug --></span><br style="font-family: monospace;">
+ <span style="font-family: monospace;"> 32 <!--target name="-post-compile" depends="init, include-jmaki-local, weave"--></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 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 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. 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;">
+[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;">
+[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;"> [copy] Copying 3 files to /Users/klichong/projects/olio/webapp/java/trunk/ws/apps/webapp/build/classes</span></li>
+</ol>
+ ....</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. <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. 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>
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. 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. Below are examples for the properties used for the
@@ -2547,6 +2968,7 @@
+
* Name: Use this name when you configure
the JDBC resource. eg. BPwebappPool<br>
@@ -2556,6 +2978,7 @@
+
* Resource Type: Specify the appropriate
value, eg. javax.sql.DataSource<br>
@@ -2565,6 +2988,7 @@
+
* Database Vendor: mysql<br>
@@ -2573,6 +2997,7 @@
+
* DataSource Classname: Specify one of
the following:<br>
@@ -2582,6 +3007,7 @@
+
o com.mysql.jdbc.jdbc2.optional.MysqlDataSource<br>
@@ -2591,6 +3017,7 @@
+
* Properties:<br>
@@ -2599,6 +3026,7 @@
+
o serverName -
Specify the host name or IP address of the database server.<br>
@@ -2609,6 +3037,7 @@
+
o port - Specify the port number of the database server eg. 3306<br>
@@ -2618,6 +3047,7 @@
+
o user - Set as appropriate.<br>
@@ -2627,6 +3057,7 @@
+
o password - Set as appropriate.<br>
@@ -2636,6 +3067,7 @@
+
o databaseName - Set as appropriate, eg. bpwebapp<br>
@@ -2645,6 +3077,7 @@
+
o URL - If you
are using global transactions, you can set this property instead of
@@ -2657,6 +3090,7 @@
+
o Keep the rest of properties created.<br>
@@ -2666,6 +3100,7 @@
+
<br>
@@ -2674,6 +3109,7 @@
+
6. 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> Glassfish
+
+<h2><a name="GlassFish_Installation_and_Configuration"></a><font size="4"><a name="Glassfish_Installation_and_Configuration"></a> 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>
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. 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 put this in $GLASSFISH_HOME/lib directory. This
+and put this in $GLASSFISH_HOME/lib directory. 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. 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:
To use the admin interface, you will have to start Glassfish.
To do
@@ -2825,6 +3279,7 @@
+
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. 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. 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. 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, eg. olio</li>
@@ -3058,6 +3542,7 @@
+
<li> 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. 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. 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 <filestore>. Any valid name
@@ -3340,6 +3856,7 @@
+
</font><font size="3"><span style="font-family: monospace;"># mkdir -p <span style="font-style: italic;"><filestore></span></span><br style="font-family: monospace;">
@@ -3348,6 +3865,7 @@
+
<span style="font-family: monospace;"># chmod a+rwx <span style="font-style: italic;"><filestore></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.
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"># <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
<load_scale> $FILESTORE<br>
@@ -3415,6 +3940,7 @@
+
<br>
@@ -3423,6 +3949,7 @@
+
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"> <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. </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, webapp.image.directory. 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://<web_server>: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><driver_machine></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. <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 – 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. 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. 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">