User: mulder  
  Date: 00/10/12 11:13:22

  Modified:    manual   examples.html index.html
  Added:       manual   jboss-petstore.tgz
  Log:
  Complete the Examples section of the manual.  Remove the link to
  RMH examples from the docs page, since it is now in the manual.
  
  Revision  Changes    Path
  1.3       +469 -19   jbossweb/manual/examples.html
  
  Index: examples.html
  ===================================================================
  RCS file: /products/cvs/ejboss/jbossweb/manual/examples.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- examples.html     2000/10/10 04:18:30     1.2
  +++ examples.html     2000/10/12 18:13:20     1.3
  @@ -8,28 +8,478 @@
   
       <h2><a NAME="petstore">J2EE Blueprints: Pet Store</a></h2>
       <p>One common example is the Pet Store web app that Sun created
  -      as part of the "J2EE Blueprints" package.  Though it assumes
  -      you're using the J2EE RI server, it's not too difficult to
  -      adapt to jBoss and Tomcat.</p>
  +      as part of the "J2EE Blueprints" package.  It assumes you're
  +      using the J2EE RI server, but it can be adapted to jBoss and
  +      Tomcat.  The changes are not trivial, but are certainly
  +      possible.  These directions are for UNIX, but if you can
  +      convert a shell script to a batch file then you'll be fine on
  +      Windows as well.  These directions assume Tomcat 3.2, but
  +      you should be able to run with other versions of Tomcat
  +      without changing more than the deployment directories.</p>
       <p>Here are the tasks you'll need to perform to deploy the
         Pet Store:</p>
       <ol>
  -      <li><a HREF="http://java.sun.com/j2ee/download.html">Download</a>
  -        the pet store source.</li>
  -      <li><a HREF="http://jakarta.apache.org/downloads/binindex.html">Download</a>
  -        a current version of Ant</li>
  -      <li>Update your build script to use J2EE components outside of
  -        Sun's <code>j2ee.jar</code></li>
  -      <li>Update your Ant script to use current Ant syntax and ignore
  -        the J2EE RI security implementation</li>
  -      <li>Resolve the Catalog DB Situation</li>
  -      <li>Build the Java code</li>
  -      <li>Make EJB client and server and support JARs</li>
  -      <li>Prepare the database</li>
  -      <li>Add the jBoss-specific EJB directives</li>
  -      <li>Deploy the JSPs to Tomcat</li>
  -      <li>Deploy the EJBs to jBoss</li>
  -      <li>Run the Pet Store!</li>
  +      <li><a HREF="#petstore1">Download the Pet Store</a></li>
  +      <li><a HREF="#petstore2">Download ANT</a></li>
  +      <li><a HREF="#petstore3">Get The jBoss Petstore Package</a></li>
  +      <li><a HREF="#petstore4">Resolve the Catalog DB Situation</a></li>
  +      <li><a HREF="#petstore5">Resolve the Account Situation</a></li>
  +      <li><a HREF="#petstore6">Resolve the JNDI Situation</a></li>
  +      <li><a HREF="#petstore7">Prepare the Database</a></li>
  +      <li><a HREF="#petstore8">Add DB Pool to jBoss</a></li>
  +      <li><a HREF="#petstore9">Correct the Server Name</a></li>
  +      <li><a HREF="#petstore10">Add the jBoss-specific EJB directives</a></li>
  +      <li><a HREF="#petstore11">Build and Deploy</a></li>
  +      <li><a HREF="#petstore12">Add User Accounts to Tomcat</a></li>
  +      <li><a HREF="#petstore13">Add EJB Libraries to Tomcat</a></li>
  +      <li><a HREF="#petstore14">Start jBoss</a></li>
  +      <li><a HREF="#petstore15">Start Tomcat</a></li>
  +      <li><a HREF="#petstore16">Run the Pet Store</a></li>
       </ol>
  +    <hr>
  +    <h3><a NAME="petstore1">Download the Pet Store</a></h3>
  +    <p>You can get the source from
  +      <a HREF="http://java.sun.com/j2ee/download.html">Sun's J2EE
  +      Download Page</a>.  It's in the "J2EE Blueprints" package.
  +      Unpack it anywhere.</p>
  +
  +    <h3><a NAME="petstore2">Download ANT</a></h3>
  +    <p>You need a current version of ANT.  You can get it from the
  +      <a HREF="http://jakarta.apache.org/downloads/binindex.html">Jakarta
  +      Project Download Page</a>.  Unpack it anywhere.  Build it using
  +      the build.sh script (you will need an XML parser in your
  +      classpath).</p>
  +
  +    <h3><a NAME="petstore3">Get The jBoss Petstore Package</a></h3>
  +    <p>You can make a bunch of changes yourself, but to save you some
  +      time we wrapped some of them together.  Download the
  +      <a HREF="jboss-petstore.tgz">jBoss Petstore Package</a>.  You
  +      can open it with tar on UNIX or WinZip on Windows.  Unpack it
  +      into the main petstore directory created above - it will create
  +      the src/jboss directory within the pet store.  This directory
  +      has updated ANT build scripts, updated shell scripts, and
  +      Tomcat and jBoss configuration files.  There are a number of
  +      changes you need to make to the files in here to customize
  +      them to your environment:</p>
  +    <p>You need to edit the <b>build.sh</b> file and
  +      put in the correct directories for the <code>J2EE</code>,
  +      <code>XML</code>, and <code>ANT_HOME</code> variables.  The
  +      J2EE variable should have paths to the javax.xxx classes for
  +      Servlets 1.2, EJB 1.1, Java Mail 1.1.3, JavaBeans Activation
  +      Framework 1.0.1, JTA 1.0.1, and the JDBC Optional Package 2.0.
  +      The XML variable should have paths to JAXP 1.0.1 and either the
  +      Sun (parser.jar) or Apache (xerces.jar) parser.  The ANT_HOME
  +      variable should point to where you downloaded ANT above.</p>
  +    <p><i><b>Note:</b> You should not use the j2ee.jar distributed with
  +      the J2EE Reference Implementation - use the individual packages
  +      available from Tomcat or jBoss or Sun's web site!</i></p>
  +    <p>You need to edit the <b>build.xml</b> file and
  +      put in the correct directories for the <code>jboss</code> and
  +      <code>tomcat</code> properties pointing to your jboss
  +      install directory and Tomcat install directory.</p>
  +    <p>You need to edit the <b>jndi.properties</b> file and put
  +      the correct hostname for your jBoss server in the
  +      <code>java.naming.provider.url</code> property.</p>
  +
  +    <h3><a NAME="petstore4">Resolve the Catalog DB Situation</a></h3>
  +    <p>The default implementation of the Catalog object performs all
  +      the data access from the JSP helper class and ignores the EJB.
  +      If you are running jBoss and Tomcat separately, this does not
  +      work (the DB pools are only available to the EJBs).  It may
  +      work if you are running jBoss and Tomcat fully integrated, but
  +      it is still a questionable design choice.</p>
  +    <p>Because of the way Sun partitioned their code, it is quite
  +      easy to move the DB calls to the EJB.  Just copy the code out of
  +      CatalogImpl and paste it into CatalogEJB.  Then update
  +      CatalogImpl to call the EJB instead (many of the other Impls are
  +      done this way, so you can practically copy &amp; paste
  +      again).</p>
  +
  +    <h3><a NAME="petstore5">Resolve the Account Situation</a></h3>
  +    <p>The default implementation of the Account object assumes that
  +      the authentication information will be shared between the
  +      servlet and EJB containers, but this is not the case between
  +      jBoss and Tomcat.  You must make a small change in the
  +      ShoppingClientController interface - add a
  +      <code>getAccount(String userid)</code> method along with the
  +      parameterless method.  Then implement it in the
  +      ShoppingClientControllerEJB - the same as the parameterless
  +      one, but use the parameter instead of information from the
  +      SessionContext.  Finally, in ShoppingClientControllerWebImpl
  +      there are two calls to <code>sccEjb.getAccount()</code> that
  +      need to be changed to
  +      <code>sccEjb.getAccount((String)session.getAttribute("j_username"))</code> to 
pass the user ID from servlet to EJB.</p>
  +
  +    <h3><a NAME="petstore6">Resolve the JNDI Situation</a></h3>
  +    <p>The default JNDI lookups (in
  +      <code>com.sun.estore.util.EJBUtil</code>) assume that the JNDI
  +      names for beans will be the same regardless of whether the
  +      caller is a JSP or EJB.  This is not the case for jBoss and
  +      Tomcat - the EJB lookups are the same (for example,
  +      <code>java:comp/env/ejb/catalog</code>), but the JSP lookups
  +      are different (for example, <code>TheCatalog</code>).  The
  +      easiest way to resolve this is to declare parallel variables in
  +      the <code>JNDINames</code> class and then add a second lookup
  +      in the NamingException handler of each method of the
  +      <code>EJBUtil</code> class that tries the other name.  It's
  +      a little less efficient than creating a second JSP-tier class,
  +      but hey, it's just a demo.</p>
  +    <p>Additionally, certain versions of Tomcat seem unable to
  +      locate the <code>jndi.properties</code> file in the
  +      <code>estore/WEB-INF/classes</code> directory.  To work around
  +      this, edit the <code>EJBUtil</code> file and add something that
  +      reads the JNDI properties into system variables or into a
  +      Properties object that you use to create the InitialContext.
  +      It's easiest to throw this into a method that you call at the
  +      beginning of every other method in the <code>EJBUtil</code>
  +      class.  For example:</p>
  +<pre>
  +if(System.getProperty("java.naming.factory.initial") != null)
  +    return;
  +try {
  +    java.io.InputStream in = 
Thread.currentThread().getContextClassLoader().getResourceAsStream("jndi.properties");
  +    java.io.BufferedReader read = new java.io.BufferedReader(new 
java.io.InputStreamReader(in));
  +    String line;
  +    System.out.println("Found jndi.properties");
  +    while((line = read.readLine()) != null) {
  +        int pos = line.indexOf("=");
  +        System.setProperty(line.substring(0, pos), line.substring(pos+1));
  +    }
  +    read.close();
  +} catch(java.io.IOException e) {
  +    e.printStackTrace();
  +    throw new GeneralFailureException(e);
  +}
  +</pre>
  +
  +    <h3><a NAME="petstore7">Prepare the Database</a></h3>
  +    <p>The default configuration assumes the Cloudscape database.
  +      The pet store package also includes an Oracle script (though
  +      you may need to comment out the <code>drop table</code>
  +      statements at the top for it to run the first time).  If you
  +      like, you can also use the PostgreSQL script contained in the
  +      jBoss Petstore package, but then you'll need to copy the
  +      <code>OrderDAOPostgreSQL.java</code> file to the
  +      <code>src/com/sun/estore/order/ejb</code> directory, and update
  +      the <code>OrderDAO.getDAO()</code> method to instantiate a new
  +      <code>OrderDAOPostgreSQL</code> object when the database name
  +      is "<code>PostgreSQL</code>" (just copy the other DB
  +      configurations there).</p>
  +    <p>Whichever product you're using, create a database or instance
  +      or schema (the terminology varies) and then run the appropriate
  +      script to populate it.  Make sure your DB is running.</p>
  +
  +    <h3><a NAME="petstore8">Add DB Pool to jBoss</a></h3>
  +    <p>The jBoss Petstore Package includes the files
  +      <code>jboss.conf</code>, <code>jboss.jcml</code>, and
  +      <code>jboss.properties</code>.  The default configuration has
  +      an Oracle DB pool and a PostgreSQL DB Pool.  You should
  +      update or replace these with a single DB pool that points
  +      to your database.  You will need to put your DB driver JAR
  +      in the <code>lib/ext</code> directory of your jBoss
  +      installation, and then edit these three files according to
  +      the procedures in the <a HREF="adv_config.html#datasources">Data
  +      Sources</a> section.</p>
  +
  +    <h3><a NAME="petstore9">Correct the Server Name</a></h3>
  +    <p>If you look at the file <code>src/docroot/footer.jsp</code>
  +      in the pet store directory, it has a line that prints
  +      "<code>Running on</code>" and then tries to fetch the
  +      server name.  This call doesn't work in Tomcat or jBoss,
  +      so just replace it with a hardcoded "<code>Tomcat+jBoss</code>"
  +      or whatever you prefer.</p>
  +
  +    <h3><a NAME="petstore10">Add jBoss-Specific EJB Directives</a></h3>
  +    <p>The jBoss Petstore Package includes the file
  +      <code>estore-jboss.xml</code> which will become the
  +      <code>jboss.xml</code> file in your EJB JAR.  You should change
  +      the <code>res-jndi-name</code> tag near the top to use the
  +      name of the database pool you created - the default value is
  +      "PostgresDB".</p>
  +
  +    <h3><a NAME="petstore11">Build and Deploy</a></h3>
  +    <p>Run the <code>build.sh</code> script in the jBoss Petstore
  +      Package to build the pet store EJB-JAR and deploy the pet
  +      store to jBoss and Tomcat.  It will create a context called
  +      <code>estore</code> in Tomcat.</p>
  +
  +    <h3><a NAME="petstore12">Add User Accounts to Tomcat</a></h3>
  +    <p>Edit the file <code>conf/tomcat-users.xml</code> in your
  +      Tomcat installation.  You should create an account with the
  +      user name "<code>j2ee</code>", any password you like, and the
  +      group "<code>customer</code>".  If you create additional
  +      accounts, they may also be in the "<code>gold_customer</code>"
  +      group, and you need to add a record to the <code>ACCOUNT</code>
  +      table with the same user name.</p>
  +    <p><i>Note that if you are note using the SimpleRealm
  +      authentication module in Tomcat, the procedures for adding a
  +      user may differ!</i></p>
  +
  +    <h3><a NAME="petstore13">Add EJB Libraries to Tomcat</a></h3>
  +    <p>You need to add a number of libraries to the Tomcat pet store
  +      web app.  These should go in the tomcat directory under
  +      <code>webapps/estore/WEB-INF/lib</code>.  The JARs you need
  +      are distributred with jBoss (in the <code>clients</code>
  +      directory): <code>ejb.jar</code>, <code>jboss-client</code>,
  +      <code>jnp-client.jar</code>, <code>jdbc2_0-stdext.jar</code>,
  +      and <code>jta-spec1_0_1.jar</code>.  If you're running in
  +      JDK <= 1.2.2, you also need <code>jndi.jar</code>.</p>
  +
  +    <h3><a NAME="petstore14">Start jBoss</a></h3>
  +    <p>When you start jBoss, you should see it deploy the Pet Store
  +      EJBs.</p>
  +
  +    <h3><a NAME="petstore15">Start Tomcat</a></h3>
  +    <p>When you start Tomcat, you should see it deploy the estore
  +      Context.</p>
  +
  +    <h3><a NAME="petstore16">Run the Pet Store</a></h3>
  +    <p>Point your browser to
  +      http://host.domain.com:8080/estore/index.html to start the
  +      Pet Store.  You must use a full domain name instead of localhost
  +      for the session cookies to work.  You must also start at
  +      index.html because it defaults to index.jsp which is not the
  +      correct page.</p>
  +    <p>The only part of the pet store known to not work is creating
  +      a new account.  There is not a security implementation that
  +      writes updates to the <code>tomcat-users.xml</code> file, or
  +      uses the JDBCRealm in Tomcat.</p>
  +
  +    <hr>
  +
  +    <h2><a NAME="rmh">From <u>Enterprise JavaBeans</u> (Monson-Haefel)</a></h2>
  +    <p>A common EJB-only example comes from the book
  +      <a HREF="http://www.oreilly.com/catalog/entjbeans2/">Enterprise
  +      JavaBeans, 2nd Edition</a> (Chapter 4).  The examples need some
  +      slight changes to run within jBoss, and you can download the
  +      <a HREF="../rmh_jboss.zip">jBoss Version</a> if you just want to
  +      cut to the chase.  But if you'd like to get a better
  +      understanding of the differences, here are the steps you'll need
  +      to follow to update the examples.  These directions are for UNIX,
  +      but if you can convert a shell script to a batch file then you'll
  +      be fine on Windows as well.</p>
  +    <ol>
  +      <li><A HREF="#rmh1">Download the Example Code</a></li>
  +      <li><A HREF="#rmh2">Set the Environment</a></li>
  +      <li><A HREF="#rmh3">Make the EJB Code Change</a></li>
  +      <li><A HREF="#rmh4">Create a jBoss Deployment Descriptor</a></li>
  +      <li><A HREF="#rmh5">Compile and Deploy the EJB Code</a></li>
  +      <li><A HREF="#rmh6">Make the Client Code Changes</a></li>
  +      <li><A HREF="#rmh7">Compile the Clients</a></li>
  +      <li><A HREF="#rmh8">Start jBoss</a></li>
  +      <li><A HREF="#rmh9">Configure JNDI for the Clients</a></li>
  +      <li><A HREF="#rmh10">Run the Clients</a></li>
  +      <li><A HREF="#rmh11">Example Notes</a></li>
  +    </ol>
  +    <hr>
  +
  +    <h3><a NAME="rmh1">Download the Example Code</a></h3>
  +    <p>You can download the examples zip file from
  +      <a 
href="http://www.oreilly.com/catalog/entjbeans2/chapter/examples.zip">O'Reilly's 
site</a>.  Unpack it anywhere you like.</p>
  +
  +    <h3><a NAME="rmh2">Set the Environment</a></h3>
  +    <p>You will need the jBoss libraries to compile and run the
  +      examples.  The scripts below locate that using the
  +      <code>JBOSS_HOME</code> environment variable.  So you need to
  +      set the environment variable to point to your jBoss
  +      installation.  For example:</p>
  +<pre>
  +export JBOSS_HOME=$HOME/jboss
  +</pre>
  +
  +    <h3><a NAME="rmh3">Make the EJB Code Change</a></h3>
  +    <p>The beans are almost okay for jBoss, but you do need to make
  +      one minor change: the reference made by
  +      <code>TravelAgentBean</code> to <code>CabinBean</code>.  In
  +      jBoss, an EJB must refer to other EJBs using the
  +      <code>java:comp/env</code> namespace. Edit
  +      <code>com/titan/travelagent/TravelAgentBean.java</code>, and
  +      replace
  +<pre>Object obj = jndiContext.lookup("ejb/CabinHome");</pre>
  +with
  +<pre>Object obj = jndiContext.lookup("<b>java:comp/env/</b>ejb/CabinHome");</pre>
  +
  +    <h3><a NAME="rmh4">Create a jBoss Deployment Descriptor</a></h3>
  +    <p>In order to link the EJB reference above to a valid EJB, you
  +      need to create a jBoss Deployment Descriptor (a
  +      <code>jboss.xml</code> file).  You should create the file
  +      <code>com/titan/travelagent/jboss.xml</code> with the following
  +      contents:</p>
  +
  +<pre>
  +&lt;?xml version="1.0"?&gt;                                                 
  +&lt;jboss&gt;
  +  &lt;enterprise-beans&gt;
  +    &lt;session&gt;
  +      &lt;ejb-name&gt;TravelAgentBean&lt;/ejb-name&gt;
  +      &lt;ejb-ref&gt;
  +        &lt;ejb-ref-name&gt;ejb/CabinHome&lt;/ejb-ref-name&gt;
  +        &lt;jndi-name&gt;CabinBean&lt;/jndi-name&gt;
  +      &lt;/ejb-ref&gt;
  +    &lt;/session&gt;
  +  &lt;/enterprise-beans&gt;
  +&lt;/jboss&gt;
  +</pre>
  +
  +    <h3><a NAME="rmh5">Compile and Deploy the EJB Code</a></h3>
  +    <p>You can use the following script to compile all the EJBs,
  +      package them with the deployment descriptors, and deploy
  +      them to jBoss:</p>
  +<pre>
  +#!/bin/sh                                                             
  +
  +# make cabin bean
  +
  +javac -classpath $JBOSS_HOME/lib/ext/ejb.jar:. \
  +  com/titan/cabin/Cabin*.java
  +
  +cp com/titan/cabin/ejb-jar.xml META-INF/ejb-jar.xml
  +jar cvf cabin.jar com/titan/cabin/Cabin*.class META-INF/ejb-jar.xml
  +
  +
  +# make travelagent bean
  +
  +javac -classpath $JBOSS_HOME/lib/ext/ejb.jar:. \
  +  com/titan/travelagent/TravelAgent*.java
  +
  +cp com/titan/travelagent/ejb-jar.xml \
  +   com/titan/travelagent/jboss.xml \
  +   META-INF/
  +
  +# jBoss needs the Home, Remote and primary key (PK) classes
  +# of the Cabin in travelagent.jar so that TravelAgent*.class
  +# can access the Cabin bean
  +
  +jar cvf travelagent.jar \
  +  com/titan/cabin/CabinHome.class \
  +  com/titan/cabin/Cabin.class \
  +  com/titan/cabin/CabinPK.class \
  +  com/titan/travelagent/TravelAgent*.class \
  +  META-INF/ejb-jar.xml META-INF/jboss.xml
  +
  +rm -f META-INF/ejb-jar.xml
  +rm -f META-INF/jboss.xml
  +
  +# deploy
  +cp cabin.jar travelagent.jar $JBOSS_HOME/deploy
  +</pre>
  +
  +    <h3><a NAME="rmh6">Make the Client Code Changes</a></h3>
  +    <p>The client needs a few JNDI name changes as well, in the
  +      following files:</p>
  +    <dl>
  +      <dt><code>com/titan/cabin/Client_1.java</code></dt>
  +      <dd>
  +<pre>Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");</pre>
  +        should be replaced with
  +<pre>Object obj = jndiContext.lookup("CabinBean");</pre>
  +      </dd>
  +
  +      <dt><code>com/titan/cabin/Client_2.java</code></dt>
  +      <dd>
  +<pre>Object obj = jndiContext.lookup("ejb/CabinHome");</pre>
  +        should be replaced with
  +<pre>Object obj = jndiContext.lookup("CabinBean");</pre>
  +      </dd>
  +
  +      <dt><code>com/titan/travelagent/Client_1.java</code></dt>
  +      <dd>
  +<pre>Object obj = jndiContext.lookup("ejb/CabinHome");</pre>
  +        should be replaced with
  +<pre>Object obj = jndiContext.lookup("CabinBean");</pre>
  +      </dd>
  +    </dl>
  +
  +    <h3><a NAME="rmh7">Compile the Clients</a></h3>
  +    <p>You can use the following script to compile the clients:</p>
  +<pre>
  +#!/bin/sh                                                             
  +
  +javac -classpath $JBOSS_HOME/lib/ext/ejb.jar:.  \
  +    com/titan/cabin/Client*.java                \
  +    com/titan/travelagent/Client*.java
  +</pre>
  +
  +    <h3><a NAME="rmh8">Start jBoss</a></h3>
  +    <p>When you start jBoss, you should see the example EJBs
  +      deployed.</p>
  +
  +    <h3><a NAME="rmh9">Configure JNDI for the Clients</a></h3>
  +    <p>You need to make the clients aware of how to look up the
  +      jBoss server.  This is done in the run script below by
  +      adding the <code>jboss/conf</code> directory to the
  +      classpath, since that directory has a
  +      <code>jndi.properties</code> file.  You could also copy
  +      that file to another location and add that location to
  +      the classpath.  Make sure the jBoss server hostname in
  +      the property "<code>java.naming.provider.url</code>" is
  +      correct in your <code>jndi.properties</code>.</p>
  +
  +    <h3><a NAME="rmh10">Run the Clients</a></h3>
  +    <p>You can use a script like the following to run the
  +      clients:</p>
  +<pre>
  +#!/bin/sh                                                             
  +
  +CP=$JBOSS_HOME/client/ejb.jar
  +CP=$CP:$JBOSS_HOME/client/jta-spec1_0_1.jar
  +CP=$CP:$JBOSS_HOME/client/jboss-client.jar
  +CP=$CP:$JBOSS_HOME/client/jnp-client.jar
  +CP=$CP:$JBOSS_HOME/conf
  +# Necessary for JDK <= 1.2.2 only!
  +CP=$CP:$JBOSS_HOME/client/jndi.jar
  +
  +java -cp $CP $1
  +</pre>
  +    <p>Then you just pass this script the class name of the
  +      client to run, and it sets the classpath and runs the
  +      client.  For example:</p>
  +<pre>
  +./jBossRunClient.sh com.titan.cabin.Client_1
  +./jBossRunClient.sh com.titan.cabin.Client_2
  +./jBossRunClient.sh com.titan.travelagent.Client_1
  +</pre>
  +
  +    <h3><a NAME="rmh11">Example Notes</a></h3>
  +    <ul>
  +      <li>The clients will only run once, since they use the
  +        <code>EJBHome.create()</code> method.   If you try to run
  +     them a second time, you'll get a
  +     <code>DuplicateKeyException</code>.</li>
  +      <li>The output is a little more manageable if you to turn
  +        off debug logging for these examples.  Edit
  +     <code>$JBOSS_HOME/conf/jboss.conf</code>, and in the
  +     ConsoleLogging section, set the first <code>ARG</code>
  +     to "<code>Error</code>".</li>
  +    </ul>
  +    <hr>
  +
  +    <h2><a NAME="jbosstest">jBoss Test Beans</a></h2>
  +    <p>There is a test suite available for jBoss, which consists
  +      of a number of EJBs that tests all facets of the server,
  +      and the clients that go with them.  Currently, the test
  +      beans are only available from CVS.  In order to build and
  +      use the test beans, you must:</p>
  +    <ol>
  +      <li>Get the test beans from CVS.  You can get directions for
  +        checking things out of CVS if you go to the
  +     <a HREF="http://www.jboss.org/">jBoss Home Page</a> and
  +     follow the link on the left to CVS.  Once you have your
  +     CVSHOME configured and you have logged in, check out the
  +     <code>jbosstest</code> module.</li>
  +      <li>Build the beans.  Go to the
  +        <code>jbosstest/src/build</code> directory and run
  +     <code>build.sh</code> (UNIX) or <code>build.bat</code>
  +     (Windows).</li>
  +      <li>Copy the EJB JARs to jBoss.  Copy
  +        <code>jbosstest/dist/deploy/*.jar</code> to
  +     <code>jboss/dist/deploy</code>.</li>
  +      <li>Start jBoss.</li>
  +      <li>Run the clients scripts in
  +        <code>jbosstest/dist/bin</code> to run the tests.</li>
  +    </ol>
  +    <p>The source code for all of the examples is under
  +      <code>jbosstest/src/main</code> if you'd like to see
  +      how the test beans work.</p>
     </body>
   </html>
  
  
  
  1.11      +3 -3      jbossweb/manual/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /products/cvs/ejboss/jbossweb/manual/index.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- index.html        2000/10/10 04:18:30     1.10
  +++ index.html        2000/10/12 18:13:21     1.11
  @@ -139,9 +139,9 @@
           <p CLASS="tc2">What You Can (Conveniently) Replace</p>
           <p CLASS="tc2">What You Can (Conveniently) Add</p>
         <p CLASS="tc1"><a CLASS="plain" HREF="examples.html">Examples</a></p>
  -        <p CLASS="tc2">From <U>Enterprise JavaBeans</U> (Monson-Haefel)</p>
  -        <p CLASS="tc2">jBoss Test Beans</p>
  -        <p CLASS="tc2">Other Examples</p>
  +        <p CLASS="tc2"><a CLASS="plain" HREF="examples.html#petstore">J2EE 
Blueprints: Pet Store</a></p>
  +        <p CLASS="tc2"><a CLASS="plain" HREF="examples.html#rmh">From <U>Enterprise 
JavaBeans</U> (Monson-Haefel)</a></p>
  +        <p CLASS="tc2"><a CLASS="plain" HREF="examples.html#jbosstest">jBoss Test 
Beans</a></p>
         <p CLASS="tc1"><a CLASS="plain" HREF="trouble.html">Troubleshooting</a></p>
           <p CLASS="tc2">Identifying Your Problem</p>
           <p CLASS="tc2">Verification Problems</p>
  
  
  
  1.1                  jbossweb/manual/jboss-petstore.tgz
  
        <<Binary file>>
  
  

Reply via email to