User: fleury
Date: 01/02/07 21:31:39
Modified: documentation DOCUMENTATION_STANDARDS.html
EJX.HowTo.GUI-Basics.html
EJX.HowTo.Getting-Started.html HowTo.Security.html
HowTo.css J2eeDeployment_howto.html
JMX.Connector.Howto.html JMX.Timer.HowTo.html
Jaws.htm cmp_jboss_discussion.html container.html
contconf_howto.html ejb.html ejbref_howto.html
jawsxml_howto.html jboss1.html jboss1a.html
jboss2.html jboss3.html jboss4.html jboss5.html
jboss6.html jboss7.html jboss_cmp.html
jboss_cmp1.html jboss_cmp2.html jboss_cmp3.html
jboss_cmp4.html jboss_cmp_trail_index.html
jboss_linux.html jboss_linux_trail_index.html
jboss_win32_1.html jboss_win32_2.html
jboss_win32_3.html jboss_win32_4.html
jboss_win32_5.html jboss_win32_6.html
jboss_win32_7.html jboss_win32_trail_index.html
jbossxml_howto.html jbuilder.htm jndi_howto.html
mssql.htm oraclecmp.htm petstore-1.1.1-01.html
rmh_howto.html server.html technical_index.html
Log:
jBoss -> JBoss
Revision Changes Path
1.3 +7 -7 newsite/documentation/DOCUMENTATION_STANDARDS.html
Index: DOCUMENTATION_STANDARDS.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/DOCUMENTATION_STANDARDS.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DOCUMENTATION_STANDARDS.html 2000/11/24 10:09:08 1.2
+++ DOCUMENTATION_STANDARDS.html 2001/02/08 05:31:30 1.3
@@ -1,17 +1,17 @@
-<H2>jBoss Documentation Standards</H2>
+<H2>JBoss Documentation Standards</H2>
<P>This document is intended for Open Source developers who are helping
-with documentation for the <A HREF="http://jboss.org/">jBoss Project.</A></P>
+with documentation for the <A HREF="http://jboss.org/">JBoss Project.</A></P>
-<P>First, the name. To maintain consistency and to improve our chances of
maintaining a trademark on everything, please make sure you use a lower-case j and an
upper-case B, "jBoss," even at the beginning of a sentence.</P>
+<P>First, the name. To maintain consistency and to improve our chances of
maintaining a trademark on everything, please make sure you use a lower-case j and an
upper-case B, "JBoss," even at the beginning of a sentence.</P>
-<P>This project uses CVS for version control. Make sure you check out the latest
docs from CVS module jbossweb (not just downloading the files from the Web site) and
check them back in when you're done. If you make modifications to the files you
download from the Web or FTP servers, you may be modifying an obsolete file. See the
<A HREF="cvs.htm">jBoss CVS</A> page for details.</P>
+<P>This project uses CVS for version control. Make sure you check out the latest
docs from CVS module jbossweb (not just downloading the files from the Web site) and
check them back in when you're done. If you make modifications to the files you
download from the Web or FTP servers, you may be modifying an obsolete file. See the
<A HREF="cvs.htm">JBoss CVS</A> page for details.</P>
-<P>If you don't have CVS commit privledges, you can e-mail your changes to <A
HREF="mailto:[EMAIL PROTECTED]">marc fleury</A> or <A
HREF="mailto:[EMAIL PROTECTED]">the jBoss Developer's mailing
list.</A></P>
+<P>If you don't have CVS commit privledges, you can e-mail your changes to <A
HREF="mailto:[EMAIL PROTECTED]">marc fleury</A> or <A
HREF="mailto:[EMAIL PROTECTED]">the JBoss Developer's mailing
list.</A></P>
-<P>If you're making changes to the jBoss code, you must document every class, every
method, and every public member variable with Javadoc-style comments. See the <A
HREF="http://java.sun.com/products/jdk/javadoc/index.html">Javadoc Tool Home Page</A>,
especially <A
HREF="http://java.sun.com/products/jdk/javadoc/writingdoccomments.html">How to Write
Doc Comments for Javadoc.</A> These comments will be included in the Javadoc-generated
documentation for jBoss, which come with the jBoss source distribution (in the
docs/api/ directory). You should also follow <A
HREF="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">the official Sun
Java Coding Conventions.</A></P>
+<P>If you're making changes to the JBoss code, you must document every class, every
method, and every public member variable with Javadoc-style comments. See the <A
HREF="http://java.sun.com/products/jdk/javadoc/index.html">Javadoc Tool Home Page</A>,
especially <A
HREF="http://java.sun.com/products/jdk/javadoc/writingdoccomments.html">How to Write
Doc Comments for Javadoc.</A> These comments will be included in the Javadoc-generated
documentation for JBoss, which come with the JBoss source distribution (in the
docs/api/ directory). You should also follow <A
HREF="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">the official Sun
Java Coding Conventions.</A></P>
-<P>Before you modify the other documentation on the jBoss Web site, please take a
few minutes to roam around the other documents and get a feel for their format. View
the HTML source, look under the hood and kick the tires. We're striving for a
consistent, professional look, and it will help if you're familiar with the other
documents.</P>
+<P>Before you modify the other documentation on the JBoss Web site, please take a
few minutes to roam around the other documents and get a feel for their format. View
the HTML source, look under the hood and kick the tires. We're striving for a
consistent, professional look, and it will help if you're familiar with the other
documents.</P>
<P>There are four categories of user-interface text that should have special
formatting:</P>
1.2 +1 -1 newsite/documentation/EJX.HowTo.GUI-Basics.html
Index: EJX.HowTo.GUI-Basics.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/EJX.HowTo.GUI-Basics.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- EJX.HowTo.GUI-Basics.html 2000/11/12 20:33:12 1.1
+++ EJX.HowTo.GUI-Basics.html 2001/02/08 05:31:30 1.2
@@ -26,7 +26,7 @@
</OL>
This seems to be simple but combining them together with the Java
Bean Support and ordinary Swing coding leads to advanced GUIs like
-the actual version of EJX used in jBoss (I am not taking about the
+the actual version of EJX used in JBoss (I am not taking about the
lack of User guidance but about the abilities of the GUI to display
and edit the data).
</DIV>
1.2 +4 -4 newsite/documentation/EJX.HowTo.Getting-Started.html
Index: EJX.HowTo.Getting-Started.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/EJX.HowTo.Getting-Started.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- EJX.HowTo.Getting-Started.html 2000/11/12 20:33:22 1.1
+++ EJX.HowTo.Getting-Started.html 2001/02/08 05:31:30 1.2
@@ -13,12 +13,12 @@
<DIV class="para" ALIGN="left">
Both packages are created by Rickard �berg and are available at his DreamBean
Website: <A HREF="http://www.dreambean.com">www.dreambean.com</A>. Both packages
-are heavily used in jBoss do create/maintain EJB descriptor and other XML files.
+are heavily used in JBoss do create/maintain EJB descriptor and other XML files.
</DIV>
<DIV class="para" ALIGN="left">
The reason or motivation for me to write this HowTo was that I struggle to
understand EJX
and AWT. On the other hand Rickard was so busy with other stuff that I had to dig
throug
-myself and to save time for other members of jBoss I started writing this HowTo.
This
+myself and to save time for other members of JBoss I started writing this HowTo.
This
document is <B>still under construction</B> and will maybe never be finished.
</DIV>
<H4>Idea of EJX</H4>
@@ -48,13 +48,13 @@
<DIV class="para" ALIGN="left">
Based on the first draft of this document I separated the core EJX stuff from the
EJX examples
to make it a little bit more clear. Afterwards I implemented these changes in the
EJX module
-of jBoss CVS server. If you now download the EJX module you can create a slim
release of EJX
+of JBoss CVS server. If you now download the EJX module you can create a slim
release of EJX
without the examples. If you need them you can just jump to the examples directory
and build
the example from there (one by one) and only the examples you want or need.
</DIV>
<H3>Structure</A></H3>
<DIV class="para" ALIGN="left">
-To go through this document download the EJX module from the jBoss CVS server.
+To go through this document download the EJX module from the JBoss CVS server.
</DIV>
<DIV class="para" ALIGN="left">
<B>Attention:</B> Before you start with compiling any examples you <B>have</B> to
run the
1.4 +10 -10 newsite/documentation/HowTo.Security.html
Index: HowTo.Security.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/HowTo.Security.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- HowTo.Security.html 2001/02/01 04:29:23 1.3
+++ HowTo.Security.html 2001/02/08 05:31:30 1.4
@@ -383,7 +383,7 @@
where ${jboss_home} is the location of your JBoss distribution.
@author [EMAIL PROTECTED]
-@version $Revision: 1.3 $
+@version $Revision: 1.4 $
*/
public class StatelessSessionClient
{
@@ -500,7 +500,7 @@
bash 1071>CLASSPATH="${CLASSPATH};${jboss_home}/client/jboss-client.jar"
bash 1072>CLASSPATH="${CLASSPATH};."
bash 1073>echo $CLASSPATH
-D:/usr/local/src/cvsroot/jBoss/jboss/dist/client/jaas.jar;D:/usr/local/src/cvsroot/jBoss/jboss/dist/client/ejb.jar;D:/usr/local/src/cvsroot/jBoss/jboss/dist/client/jnp-client.jar;D:/usr/local/src/cvsroot/jBoss/jboss/dist/client/jboss-client.jar;.
+D:/usr/local/src/cvsroot/JBoss/jboss/dist/client/jaas.jar;D:/usr/local/src/cvsroot/JBoss/jboss/dist/client/ejb.jar;D:/usr/local/src/cvsroot/JBoss/jboss/dist/client/jnp-client.jar;D:/usr/local/src/cvsroot/JBoss/jboss/dist/client/jboss-client.jar;.
</code></pre>
Next, compile all of the source.
<code><pre>
@@ -591,7 +591,7 @@
[Service Control] Registered with server
[Jetty] Setting unpackWars=false
[Jetty] Set successfully
-[Jetty] Adding configuration:
URL=file:/usr/local/src/cvsroot/jBoss/jboss/dist/conf/default/jetty.xml
+[Jetty] Adding configuration:
URL=file:/usr/local/src/cvsroot/JBoss/jboss/dist/conf/default/jetty.xml
[Jetty] Added successfully
[Service Control] Initializing 18 MBeans
[Webserver] Initializing
@@ -603,24 +603,24 @@
[J2EE Deployer Default] Cleaning up deployment directory
[J2EE Deployer Default] Started
[Auto deploy] Starting
-[Auto deploy] Watching D:\usr\local\src\cvsroot\jBoss\jboss\dist\deploy
+[Auto deploy] Watching D:\usr\local\src\cvsroot\JBoss\jboss\dist\deploy
<em>
-[Auto deploy] Auto deploy of
file:/D:/usr/local/src/cvsroot/jBoss/jboss/dist/deploy/ssbean.jar
-[J2EE Deployer Default] Deploy J2EE application:
file:/D:/usr/local/src/cvsroot/jBoss/jboss/dist/deploy/ssbean.jar
+[Auto deploy] Auto deploy of
file:/D:/usr/local/src/cvsroot/JBoss/jboss/dist/deploy/ssbean.jar
+[J2EE Deployer Default] Deploy J2EE application:
file:/D:/usr/local/src/cvsroot/JBoss/jboss/dist/deploy/ssbean.jar
[J2EE Deployer Default] Create application ssbean.jar
[J2EE Deployer Default] install module ssbean.jar
[J2EE Deployer Default] Starting module ssbean.jar
-[Container factory]
Deploying:file:/D:/usr/local/src/cvsroot/jBoss/jboss/dist/tmp/deploy/Default/ssbean.jar/ejb1001.jar
+[Container factory]
Deploying:file:/D:/usr/local/src/cvsroot/JBoss/jboss/dist/tmp/deploy/Default/ssbean.jar/ejb1001.jar
</em>
[Container factory] Deprecated container invoker. Change to
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker
[Container factory] Deprecated container invoker. Change to
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker
[Container factory] Deprecated container invoker. Change to
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker
[Container factory] Deprecated container invoker. Change to
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker
<em>
-[Verifier] Verifying
file:/D:/usr/local/src/cvsroot/jBoss/jboss/dist/tmp/deploy/Default/ssbean.jar/ejb1001.jar
+[Verifier] Verifying
file:/D:/usr/local/src/cvsroot/JBoss/jboss/dist/tmp/deploy/Default/ssbean.jar/ejb1001.jar
[Container factory] Deploying StatelessSession
-[Container factory] Deployed application:
file:/D:/usr/local/src/cvsroot/jBoss/jboss/dist/tmp/deploy/Default/ssbean.jar/ejb1001.jar
-[J2EE Deployer Default] J2EE application:
file:/D:/usr/local/src/cvsroot/jBoss/jboss/dist/deploy/ssbean.jar is deployed.
+[Container factory] Deployed application:
file:/D:/usr/local/src/cvsroot/JBoss/jboss/dist/tmp/deploy/Default/ssbean.jar/ejb1001.jar
+[J2EE Deployer Default] J2EE application:
file:/D:/usr/local/src/cvsroot/JBoss/jboss/dist/deploy/ssbean.jar is deployed.
</em>
[Auto deploy] Started
[JMX RMI Adaptor] Starting
1.5 +1 -1 newsite/documentation/HowTo.css
Index: HowTo.css
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/HowTo.css,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- HowTo.css 2001/01/19 09:18:04 1.4
+++ HowTo.css 2001/02/08 05:31:30 1.5
@@ -1,5 +1,5 @@
/*
-Cascading Style Sheet for HowTo Documents on jBoss website
+Cascading Style Sheet for HowTo Documents on JBoss website
Author: Andreas "Mad" Schaefer ([EMAIL PROTECTED])
*/
BODY {
1.2 +11 -11 newsite/documentation/J2eeDeployment_howto.html
Index: J2eeDeployment_howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/J2eeDeployment_howto.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- J2eeDeployment_howto.html 2000/11/12 20:33:34 1.1
+++ J2eeDeployment_howto.html 2001/02/08 05:31:31 1.2
@@ -6,11 +6,11 @@
</head>
<body>
-<h1>Deployment on jBoss</h1>
+<h1>Deployment on JBoss</h1>
<p align="right"><font size="-2">written by <a
href="mailto:[EMAIL PROTECTED]">Daniel Schulze</a></font></p>
<hr width=100%>
-<p>The application deployment on jBoss is managed by the J2eeDeployer MBean.
+<p>The application deployment on JBoss is managed by the J2eeDeployer MBean.
The J2eeDeployer is able to deploy ejb.jar packages, webapplication.war
packages and j2ee application.ear packages. Furthermore he is able to deploy
unpacked ejb.jar files for development purposes.</p>
@@ -46,8 +46,8 @@
</ul>
</p>
<p>
-These 3 methods can be used via the web interface of jBoss at port 8082
-at the host jBoss is running on.</p>
+These 3 methods can be used via the web interface of JBoss at port 8082
+at the host JBoss is running on.</p>
<h2>The AutoDeployer as helper</h2>
<p>The AutoDeployer MBean is a helper for the J2eeDeployer to allow doing
@@ -59,7 +59,7 @@
files.</p>
<p>The AutoDeployer is configured whether static by the MLET configuration or
dynamic by adding urls to watch for in its web interface (port 8082 at the host
-jBoss is running on).</p>
+JBoss is running on).</p>
<p>In its current version the AutoDeployer supports only local directories to
observe.</p>
<p>To deploy an ejb, web or ear package simply drop it in one of the observed
directories.
To autodeploy an unpacked ejb application, add the base directory of that
application
@@ -74,11 +74,11 @@
<h2>Creating J2EE applications</h2>
<p> j2ee applications or .ear files are jar archives containing a collection of ejb,
-web, client, connector and/or other library packages. Currently jBoss only supports
ejb, web
+web, client, connector and/or other library packages. Currently JBoss only supports
ejb, web
and other library packages (client and connector packages are ignored if
present).<br>
Other Library packages are class packages that are needed by your application and
are not
provided by the j2ee runtime environment (ie: some xml tools)</p>
-<p>This document will only describe the jBoss relevant stuff in creating j2ee
packages
+<p>This document will only describe the JBoss relevant stuff in creating j2ee
packages
for a detailed description of how to build such applications see the <a
href="http://java.sun.com/j2ee/download.html#platformspec">
J2EE specification under chapter 8</a>!</p>
<p>First create all ejb, war and library archives you want to put together to make
up your
@@ -121,8 +121,8 @@
web-app.war</code>. It will be deployed under the webcontext <i>/myapp</i>.<br> The
ejb package
also resides in the applications root directory and is called
<code>ejb-app.jar</code>.</p>
-<p><strong>understanding the shared classloader architecture in jBoss</strong></p>
-<p>When an application in jBoss gets deployed, every module will get deployed by a
separate
+<p><strong>understanding the shared classloader architecture in JBoss</strong></p>
+<p>When an application in JBoss gets deployed, every module will get deployed by a
separate
container.<br>
Every container will get its own classloader - this means that a call from one
module to
an other must be an remote call and all parameters must be serialized, because the
classes
@@ -130,7 +130,7 @@
boundaries.
To allow optimized interaction across container boundaries (local calls with
parameter ... per
reference) the classes that are involved in this communication must be loaded by
the same classloader.</p>
-<p>In jBoss we achieve this issue with the following classloader architecture:
+<p>In JBoss we achieve this issue with the following classloader architecture:
<ul>
<li>On deployment one - <i>common</i> - classloader is created. This classloader
will get all archives in its
classpath that are referenced (<code>MANIFEST.MF/Class-Path</code>)by any module
contained in this
@@ -158,7 +158,7 @@
</pre>
</p>
<p>Now you just jar your applications directory, name it <anyhow>.ear, and
drop it in one of
-jBoss' autodeploy directories...
+JBoss' autodeploy directories...
</p>
<p>the content of our simple applications archive:
<pre>
1.3 +10 -10 newsite/documentation/JMX.Connector.Howto.html
Index: JMX.Connector.Howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/JMX.Connector.Howto.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JMX.Connector.Howto.html 2001/01/19 09:18:04 1.2
+++ JMX.Connector.Howto.html 2001/02/08 05:31:31 1.3
@@ -36,16 +36,16 @@
</LI>
</OL>
</DIV>
-<H3>JMX Implementation in jBoss</H3>
+<H3>JMX Implementation in JBoss</H3>
<DIV class="para" ALIGN="left">
-At the moment (8th of September 2000) jBoss uses the final release JMX API for its
services
+At the moment (8th of September 2000) JBoss uses the final release JMX API for its
services
defined in the jboss.conf file (in there you see that also HTML Adaptor and the JMX
Connector
-are manageable components). In addition jBoss use the MBean Server implementation
and the
+are manageable components). In addition JBoss use the MBean Server implementation
and the
HTML adaptor from the JMX-RI. The JMX Connector also follows the JMX final spec and
API.
</DIV>
<BR>
<DIV class="para" ALIGN="left">
-You use JMX first when you start jBoss because the Main class loads the MLET tags
from the
+You use JMX first when you start JBoss because the Main class loads the MLET tags
from the
jboss.conf file and hand it over to the MBeanServer which loads the MBean
dynamically (MLET
is the tag to dynamically load a MBean by the MBeanServer). Afterwards it went
through the
loaded MBeans and starts all the loaded MBeans.
@@ -54,11 +54,11 @@
Afterwards you can use JMX either trough the JMX HMTL Adaptor on port 8082 or
through the new
JMX Connector. The JMX HTML Adaptor is provided by the JMX-RI and the source code
is not
available (it is part of Sun's JDMK which you have to buy when you want to get the
source
-as far as I know). The JMX Connector is part of the jBoss code and should be
considered as first
+as far as I know). The JMX Connector is part of the JBoss code and should be
considered as first
draft because the Connector is mentioned within the spec by not further specified.
</DIV>
<DIV class="para" ALIGN="left">
-Finally JMX is used within the shutdown hook to terminate all the services before
jBoss is
+Finally JMX is used within the shutdown hook to terminate all the services before
JBoss is
terminated itself (whatever this means) by going through all available MBeans and
send them the
stop signal (call the appropriate method).
</DIV>
@@ -70,7 +70,7 @@
particular Connector is bound to its protocol it supports but a MBeanServer can
offer more than
one (a JMX agent has to offer at least an Adaptor or a Connector) supporting
different protocols.
Because the spec does not say much about Connectors I take the freedom and
implemented the actual
-Connector within jBoss to lay the base for a remote jBoss management which is a
little bit more
+Connector within JBoss to lay the base for a remote JBoss management which is a
little bit more
comfortable than the HTML Adaptor.
</DIV>
<DIV class="para" ALIGN="left">
@@ -263,7 +263,7 @@
</LI>
<LI>
Load the logger MBean (is needed now because the Connector Factory is a standard
-jBoss MBean but maybe I should make it to a normal MBean to make it leaner).
+JBoss MBean but maybe I should make it to a normal MBean to make it leaner).
<PRE class="code" ALIGN="left">
lLocalServer.createMBean(
"org.jboss.logging.Logger",
@@ -370,7 +370,7 @@
Implement the protocol lookup in the Connector Factory to work with JNDI
</LI>
<LI>
-Test all to make sure that it works from any other JVM that the jBoss VM
+Test all to make sure that it works from any other JVM that the JBoss VM
</LI>
</UL>
</DIV>
@@ -384,7 +384,7 @@
Design and implement Relation Service for the JMX Agent
</LI>
<LI>
-Design and implement graphic management tool for jBoss
+Design and implement graphic management tool for JBoss
</LI>
</UL>
</DIV>
1.3 +5 -5 newsite/documentation/JMX.Timer.HowTo.html
Index: JMX.Timer.HowTo.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/JMX.Timer.HowTo.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JMX.Timer.HowTo.html 2001/01/19 09:18:04 1.2
+++ JMX.Timer.HowTo.html 2001/02/08 05:31:31 1.3
@@ -22,14 +22,14 @@
<DIV class="para" ALIGN="left">
First you have to add the timer service into the jboss.conf therefore that the
timer service is loaded, registered at the JMX server and the initialized and
-started (done by jBoss's Main.java class). This MLET tag looks like this:
+started (done by JBoss's Main.java class). This MLET tag looks like this:
<PRE class="code" ALIGN="left">
<MLET CODE = "javax.management.timer.Timer" NAME="DefaultDomain:service=timer"
ARCHIVE="jmxri.jar" CODEBASE="../../lib">
</MLET>
</PRE>
</DIV>
<DIV class="para" ALIGN="left">
-If you are not using jBoss then to the following:
+If you are not using JBoss then to the following:
<OL>
<LI>
Create a MBeanServer
@@ -73,8 +73,8 @@
because then you get it when you overwrite preRegister() method.
</LI>
<LI>
-When you are in the same JVM as the JMX server (in jBoss is any instance
-running within jBoss like EJBs or other classes). Then you can obtain the
+When you are in the same JVM as the JMX server (in JBoss is any instance
+running within JBoss like EJBs or other classes). Then you can obtain the
MBeanServer throug:
<PRE class="code" ALIGN="left">
MBeanServer lServer = MBeanServerFactory.createMBeanServer();
@@ -82,7 +82,7 @@
</LI>
<LI>
For the rest it is a little bit more complicated. In a Java client you can use
-jBoss RMI connector which will be released as separat package till mid December
+JBoss RMI connector which will be released as separat package till mid December
2000. Then you connect to a MBeanServer through the JMXConnector interface
which is more or less the same.
</LI>
1.2 +3 -3 newsite/documentation/Jaws.htm
Index: Jaws.htm
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/Jaws.htm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Jaws.htm 2000/11/12 20:33:22 1.1
+++ Jaws.htm 2001/02/08 05:31:31 1.2
@@ -4,8 +4,8 @@
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 4">
<title>Untitled Document</title>
- <meta name="description" content="jBoss, initially known as EJBoss
dates back to March 1999 when Marc Fleury launched it, is a joint effort of developers
to implement Sun's J2EE and to produce a top-notch Open Source Application server.It
will enable the ployment of EJBs (Enterprise Java Bean) to deliver the coolest
applications online. It's completely free so download it and use it to deploy your
beans.. ">
- <meta name="keywords" content="jBoss EJBoss Telkel Marc Fleury Rickard
Öberg J2EE Open Source Sun platform Appication Server EJB Beans Enterprise Java
Bean GPL hot deploy Enhydra WebLogic">
+ <meta name="description" content="JBoss, initially known as EJBoss
dates back to March 1999 when Marc Fleury launched it, is a joint effort of developers
to implement Sun's J2EE and to produce a top-notch Open Source Application server.It
will enable the ployment of EJBs (Enterprise Java Bean) to deliver the coolest
applications online. It's completely free so download it and use it to deploy your
beans.. ">
+ <meta name="keywords" content="JBoss EJBoss Telkel Marc Fleury Rickard
Öberg J2EE Open Source Sun platform Appication Server EJB Beans Enterprise Java
Bean GPL hot deploy Enhydra WebLogic">
</head>
<body bgcolor="white" leftmargin="0" topmargin="0" marginwidth="0"
marginheight="0">
@@ -46,7 +46,7 @@
<tbody>
<tr bgcolor="#99cc66">
<td width="100%"><font face="Myriad Web,Arial"
color="white"><b>Welcome
- to the JAWS module site, a component of the jBoss
project.</b></font></td>
+ to the JAWS module site, a component of the JBoss
project.</b></font></td>
</tr>
</tbody>
</table>
1.2 +3 -3 newsite/documentation/cmp_jboss_discussion.html
Index: cmp_jboss_discussion.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/cmp_jboss_discussion.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cmp_jboss_discussion.html 2000/11/12 20:33:24 1.1
+++ cmp_jboss_discussion.html 2001/02/08 05:31:31 1.2
@@ -8,7 +8,7 @@
<font face=arial,helvetica size=+3 color="#ffcc00"> Discussion: container-managed
persistence
</font>
<p>
-<p>If you followed the tutorial on container-managed persistence with jBoss, you
+<p>If you followed the tutorial on container-managed persistence with JBoss, you
will have seen that creating persistent, distributed objects is not really any
more difficult than creating transient ones. The EJB container does most of
the hard work; all the programmer needs to do is to tell it which fields are
@@ -82,7 +82,7 @@
table. Alternatively the server could do a SELECT to get the current column values,
delete the whole row, then insert a row with modified values. This allows a number
of values to change at once and, because all values are written, it doesn't matter
-what the columns are called. This is the approach that jBoss uses. The problem
+what the columns are called. This is the approach that JBoss uses. The problem
is that if a class has ten persistent attributes, and they are altered one after
the other, in the worst case this results in ten row deletions and ten row
insertions.
<p> <font face=arial,helvetica size=+1> Limitations of late initialization </font>
@@ -141,7 +141,7 @@
class. Of course this isn't as elegant, but elegance can come at a high price.
<br>
In summary then, container-managed
persistence
- is straightforward to implement using jBoss (or any other EJB server, for that
+ is straightforward to implement using JBoss (or any other EJB server, for that
matter) but needs to be used quite carefully if serious inefficiencies are to
be avoided.
<p>
1.2 +9 -9 newsite/documentation/container.html
Index: container.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/container.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- container.html 2000/11/12 20:33:27 1.1
+++ container.html 2001/02/08 05:31:31 1.2
@@ -3,18 +3,18 @@
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 4">
- <title>jBoss 2.0 EJB container Documentation</title>
+ <title>JBoss 2.0 EJB container Documentation</title>
<link rel="stylesheet" type="text/css" href="styles.css" title="Style">
</head>
<body bgcolor="white">
- <h1>jBoss 2.0 EJB container</h1>
+ <h1>JBoss 2.0 EJB container</h1>
<h2>Description</h2>
- <p>jBoss 2.0 contains an implementation of EJB 1.1. The container is
internally componentized, by using interfaces to allow plugins of various
implementations allowing different strategies to be used. This document describes
these interfaces, and how to develop plugins for jBoss 2.0.</p>
+ <p>JBoss 2.0 contains an implementation of EJB 1.1. The container is
internally componentized, by using interfaces to allow plugins of various
implementations allowing different strategies to be used. This document describes
these interfaces, and how to develop plugins for JBoss 2.0.</p>
<p>All interfaces and classes that are mentioned below are located in
the org.jboss.ejb and org.jboss.ejb.plugins packages.</p>
<h2>Documentation</h2>
<h3>The container factory</h3>
- <p>The center class of the EJB implementation is the ContainerFactory.
Given an EJB-jar that is ready for deployment, it will create and initialize the
necessary EJB-containers, one for each deployed EJB. The factory contains two central
methods, deploy and undeploy. The deploy method takes an URL, which either points to a
EJB-jar, or to a directory whose structure is the same as a valid EJB-jar (this is
convenient for development purposes). Once a deployment has been made, you can
undeploy it by calling undeploy on the same URL. A call to deploy with an already
deployed URL will cause an undeploy followed by deployment of the URL, i.e. a
re-deploy. jBoss has support for full re-deployment of both implementation and
interface classes, and will reload any changed classes. This will allow you to develop
and update EJB's without ever stopping a running server.</p>
+ <p>The center class of the EJB implementation is the ContainerFactory.
Given an EJB-jar that is ready for deployment, it will create and initialize the
necessary EJB-containers, one for each deployed EJB. The factory contains two central
methods, deploy and undeploy. The deploy method takes an URL, which either points to a
EJB-jar, or to a directory whose structure is the same as a valid EJB-jar (this is
convenient for development purposes). Once a deployment has been made, you can
undeploy it by calling undeploy on the same URL. A call to deploy with an already
deployed URL will cause an undeploy followed by deployment of the URL, i.e. a
re-deploy. JBoss has support for full re-deployment of both implementation and
interface classes, and will reload any changed classes. This will allow you to develop
and update EJB's without ever stopping a running server.</p>
<h3>Automatic deployment</h3>
<p>The container factory can be invoked manually from a management
console, or automatically by using the AutoDeployer. The AutoDeployer (which is an
MBean) is a component that periodically checks EJB-jars for modification timestamps.
If an update has been made the EJB-jar is re-deployed. When the server is started and
an EJB-jar is found it will be deployed automatically.</p>
<p>The deployer is given an URL to watch. The URL can point to one of
three things:</p>
@@ -23,7 +23,7 @@
<li>A directory whose contents is structured like an EJB-jar.
Timestamp checks will be done on the META-INF/ejb-jar.xml file.
<li>A directory into which EJB-jar files or directories
containing valid EJB-jar contents is placed. This may only be a file URL, since it is
not possible to do file listing checks on HTTP URL's.
</ul>
- <p>The last variant is very powerful. The default configuration of
jBoss starts an AutoDeployer that checks the /deploy directory. Here you can place any
EJB-jars that you want to be deployed on startup. If you want to add deployments at
runtime you simply drop them in there.</p>
+ <p>The last variant is very powerful. The default configuration of
JBoss starts an AutoDeployer that checks the /deploy directory. Here you can place any
EJB-jars that you want to be deployed on startup. If you want to add deployments at
runtime you simply drop them in there.</p>
<h3>Containers</h3>
<p>A Container is the component that runs a particular EJB. When an
EJB-jar is deployed, typically a number of containers are created which are connected
internally into Application's. The Application lets Containers handle references
between beans, for example for JNDI EJB-references as specified in the EJB 1.1
specification.</p>
<p>The Container is mainly a framework into which one can plug in
implementations of various parts. The Container itself does not perform any
significant work other than connecting the various plugins. There are three subclasses
of Container, each one implementing a particular bean-type:</p>
@@ -33,7 +33,7 @@
<li>StatefulSessionContainer handles Stateful SessionBeans
</ul>
<p>They are very similar, but are different in some respects. The
stateless session container does not have an instance cache (since all instances have
no identity), and the entity container has a EntityPersistenceManager to help it with
persisting entity beans into various storages.</p>
- <p>The plugins can be added by implementing various interfaces, and by
selecting them in the jBoss-specific deployment XML file (which can be edited in a
GUI-tool). The interfaces are:</p>
+ <p>The plugins can be added by implementing various interfaces, and by
selecting them in the JBoss-specific deployment XML file (which can be edited in a
GUI-tool). The interfaces are:</p>
<ul>
<li>InstanceCache
<li>InstancePool
@@ -82,8 +82,8 @@
<p>In order to create a plugin you need to do the following.</p>
<ol>
<li>Implement the interface for which you wish to provide an
implementation
- <li>Add your implementation to the jBoss server, possibly by
placing a JAR-file with your plugin in the /lib/ext directory
- <li>Create a GUI-configuration plugin for the EJX editor. This
will be used to configure your jBoss plugin.
+ <li>Add your implementation to the JBoss server, possibly by
placing a JAR-file with your plugin in the /lib/ext directory
+ <li>Create a GUI-configuration plugin for the EJX editor. This
will be used to configure your JBoss plugin.
</ol>
<p>Create your GUI plugin by doing the following.</p>
<ol>
@@ -91,7 +91,7 @@
<li>The class must implement the XmlExternalizable interface
from EJX. This allows it to add its configuration information to the jboss.xml
deployment descriptor.
<li>The class must implement the
java.beans.beancontext.BeanContextChildComponentProxy interface. It should return a
GUI component that can be used to configure your plugin. It is recommended that an
instance of GenericCustomizer is used, which would give your configuration plugin the
same look and feel as the default plugins. See the provided plugins for examples of
how to use this class. It is provided in the awt.jar, and implements the
java.beans.Customizer interface.
<li>Edit the GUI editor properties file that corresponds to
your interface, and add your implementation to the list of possible plugins. For
example, if you have implemented a ContainerInvoker you should edit the file
/src/resources/org/jboss/ejb/deployment/editors/containerinvoker.properties.
- <li>Add this class, and the updated properties file, to the
ejxjboss.jar EJX plugin jar. This is done automatically by the build scripts of jBoss
if you place your class in the jBoss source tree.
+ <li>Add this class, and the updated properties file, to the
ejxjboss.jar EJX plugin jar. This is done automatically by the build scripts of JBoss
if you place your class in the JBoss source tree.
<li>Add the new ejxjboss.jar EJX plugin to EJX by placing it
in the /lib/ext directory of EJX.
</ol>
<p>You will now be able to choose your plugin when creating container
configurations. The ContainerFactory will create instances of your plugin at
deployment time, which may use the metadata information by using the container
callback that it receives on initialization.</p>
1.3 +5 -5 newsite/documentation/contconf_howto.html
Index: contconf_howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/contconf_howto.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- contconf_howto.html 2001/01/30 06:58:33 1.2
+++ contconf_howto.html 2001/02/08 05:31:31 1.3
@@ -9,7 +9,7 @@
What is a Container Configuration?
</font>
-<p>When you deploy an application, jBoss creates a container for each of your
beans. This container will be used only for this particular bean. It must be
configured according to the type of the bean (CMP Entity Bean, Stateful Session Bean,
etc.). Different standard configurations are stored in the <em>standardjboss.xml</em>
file. You may provide additional custom configurations in the <em>jboss.xml</em> file
for your application.</p>
+<p>When you deploy an application, JBoss creates a container for each of your
beans. This container will be used only for this particular bean. It must be
configured according to the type of the bean (CMP Entity Bean, Stateful Session Bean,
etc.). Different standard configurations are stored in the <em>standardjboss.xml</em>
file. You may provide additional custom configurations in the <em>jboss.xml</em> file
for your application.</p>
<P>
<font face=arial,helvetica size=+2 color="#ffcc00">Container Configuration
Outline</font>
<ul>
@@ -23,7 +23,7 @@
<p> <p>
<ul>
-<li><a name="StdConf"></a><b>Standard Configurations</b><br>jBoss currently
provides a standard configuration for each type of bean. These configurations are
stored in the <em>standardjboss.xml</em> file. There are currently 8 standard
configurations. If you don't provide anything else (as we advise you to do, at least
at the beginning), jBoss will automatically choose the right standard configuration
for your container. The available configurations are the following: <ul><tt>
+<li><a name="StdConf"></a><b>Standard Configurations</b><br>JBoss currently
provides a standard configuration for each type of bean. These configurations are
stored in the <em>standardjboss.xml</em> file. There are currently 8 standard
configurations. If you don't provide anything else (as we advise you to do, at least
at the beginning), JBoss will automatically choose the right standard configuration
for your container. The available configurations are the following: <ul><tt>
<li>Standard CMP EntityBean
<li>Standard BMP EntityBean
<li>Standard Stateless SessionBean
@@ -36,9 +36,9 @@
</tt></li>
</ul>
-<p>The first four ones are used if you run <b>jBoss</b> with a jdk1.3 JVM. The four
last ones are used if you run <b>jBoss</b> with a jdk1.2.2 JVM.</p>
+<p>The first four ones are used if you run <b>JBoss</b> with a jdk1.3 JVM. The four
last ones are used if you run <b>JBoss</b> with a jdk1.2.2 JVM.</p>
-<li><a name="jdk12Conf"></a><b>How do I configure my bean for jdk1.2.2 clients
?</b><br>If you run jBoss on a jdk1.3 JVM, but your clients use jdk1.2.2, the standard
configuration won't work (the protocols are not backward compatible). In this case,
you have to force jBoss to use the corresponding jdk1.2.2 configuration. You do that
by providing a <em>jboss.xml</em> file. This file must be in the <em>META-INF</em>
directory of your jar file, along with <em>ejb-jar.xml</em>. In the section for your
bean, simply add a <tt><configuration-name></tt> tag. Your xml files will look
like this (note that the <tt><ejb-name></tt> tags in the 2 xml files must match)
+<li><a name="jdk12Conf"></a><b>How do I configure my bean for jdk1.2.2 clients
?</b><br>If you run JBoss on a jdk1.3 JVM, but your clients use jdk1.2.2, the standard
configuration won't work (the protocols are not backward compatible). In this case,
you have to force JBoss to use the corresponding jdk1.2.2 configuration. You do that
by providing a <em>jboss.xml</em> file. This file must be in the <em>META-INF</em>
directory of your jar file, along with <em>ejb-jar.xml</em>. In the section for your
bean, simply add a <tt><configuration-name></tt> tag. Your xml files will look
like this (note that the <tt><ejb-name></tt> tags in the 2 xml files must match)
<p>
<em>ejb-jar.xml</em>:</p>
@@ -103,7 +103,7 @@
</pre></td></tr></table></p>
<li><a name="CacheConf"></a><b>How do I specify advanced cache configuration
?</b><br>
-jBoss currently provides the possibility to choose the cache configuration for each
container configuration.
+JBoss currently provides the possibility to choose the cache configuration for each
container configuration.
You may want to define your own cache settings, and to do so you must specify them
in <EM>jboss.xml</EM> under
the <tt><instance-cache></tt> tag and subtags.
Currently 2 cache algorithms have been implemented: a no passivation cache
algorithm (so that all the bean
1.3 +8 -8 newsite/documentation/ejb.html
Index: ejb.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/ejb.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ejb.html 2001/01/19 09:18:04 1.2
+++ ejb.html 2001/02/08 05:31:31 1.3
@@ -3,21 +3,21 @@
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 4">
- <title>jBoss 2.0 EJB development Documentation</title>
+ <title>JBoss 2.0 EJB development Documentation</title>
<link rel="stylesheet" type="text/css" href="styles.css" title="Style">
</head>
<body bgcolor="white">
- <h1>jBoss 2.0 EJB development</h1>
+ <h1>JBoss 2.0 EJB development</h1>
<h2>Description</h2>
- <p>jBoss contains an implementation of EJB 1.1. This document
describes how to develop beans and deploy them on jBoss.</p>
+ <p>JBoss contains an implementation of EJB 1.1. This document
describes how to develop beans and deploy them on JBoss.</p>
<h2>Documentation</h2>
<h3>The beans</h3>
- <p>The jBoss EJB implementation follows the EJB 1.1 specification. It
does not introduce any proprietary API's. Hence, you should not have to make any
code-dependencies in your EJB's if you follow the EJB 1.1 specification during
development. However, some of the plugin implementations may be so clever (heh) that
jBoss is the only server that provides the specific functionality. If your beans are
reliant on such implementations in order to function well, your beans may be difficult
to port to other EJB containers.</p>
- <h3>Configuring your beans for jBoss deployment</h3>
- <p>jBoss uses XML to add deployment information that is specific to
jBoss, such as which plugins to use, which JNDI-names to bind the homes to, etc. The
configuration must be located in the file META-INF/jboss.xml, next to the ejb-jar.xml
file containing the EJB 1.1 XML descriptor file. This file could be edited manually,
but it is recommended that it is done through the EJX XML editor. The EJX editor is
bundled with jBoss, and can be started by executing the /bin/ejx.jar executable
JAR-file. EJX is a generic XML editor framework, which supports plugins for specific
XML types. jBoss provides two plugins for EJX. These are located in the
/lib/ext/ejxjboss.jar and /lib/ext/ejxjaws.jar files, and are used automatically by
EJX, since EJX scans the /lib/ext directory for plugins.</p>
- <p>Once you have created the EJB 1.1 XML descriptor for your beans,
either by manual editing of the ejb-jar.xml file, or by using the EJB 1.1 support
provided in the EJX editor, it is time to add the jBoss specific configuration
information. This is done by opening the ejb-jar.xml file as a jBoss configuration
file. This will load the information in ejb-jar.xml, and also construct a GUI where
additional settings may be made. These additional settings will be stored in jboss.xml
when you select Save in the GUI.</p>
- <p>There are two main categories of information in the jBoss XML file:
container configurations and bean configurations. A container configuration is a
selection of plugins, and settings for those plugins. For example, you may choose to
make a configuration for EntityBeans that uses a particular instance cache that suits
your needs, and a persistence manager that supports your backing store. These plugins
may then be configured to behave in a certain way. Once you have created a
configuration one or more beans may be configured to use this configuration. This
allows you to have one configuration for all beans (i.e. one size fits all), or one
configuration for each bean. Both options are possible. A couple of default
configurations are loaded automatically when you create a new jBoss descriptor. Below
is a screenshot showing a container configuration being constructed.</p>
+ <p>The JBoss EJB implementation follows the EJB 1.1 specification. It
does not introduce any proprietary API's. Hence, you should not have to make any
code-dependencies in your EJB's if you follow the EJB 1.1 specification during
development. However, some of the plugin implementations may be so clever (heh) that
JBoss is the only server that provides the specific functionality. If your beans are
reliant on such implementations in order to function well, your beans may be difficult
to port to other EJB containers.</p>
+ <h3>Configuring your beans for JBoss deployment</h3>
+ <p>JBoss uses XML to add deployment information that is specific to
JBoss, such as which plugins to use, which JNDI-names to bind the homes to, etc. The
configuration must be located in the file META-INF/jboss.xml, next to the ejb-jar.xml
file containing the EJB 1.1 XML descriptor file. This file could be edited manually,
but it is recommended that it is done through the EJX XML editor. The EJX editor is
bundled with JBoss, and can be started by executing the /bin/ejx.jar executable
JAR-file. EJX is a generic XML editor framework, which supports plugins for specific
XML types. JBoss provides two plugins for EJX. These are located in the
/lib/ext/ejxjboss.jar and /lib/ext/ejxjaws.jar files, and are used automatically by
EJX, since EJX scans the /lib/ext directory for plugins.</p>
+ <p>Once you have created the EJB 1.1 XML descriptor for your beans,
either by manual editing of the ejb-jar.xml file, or by using the EJB 1.1 support
provided in the EJX editor, it is time to add the JBoss specific configuration
information. This is done by opening the ejb-jar.xml file as a JBoss configuration
file. This will load the information in ejb-jar.xml, and also construct a GUI where
additional settings may be made. These additional settings will be stored in jboss.xml
when you select Save in the GUI.</p>
+ <p>There are two main categories of information in the JBoss XML file:
container configurations and bean configurations. A container configuration is a
selection of plugins, and settings for those plugins. For example, you may choose to
make a configuration for EntityBeans that uses a particular instance cache that suits
your needs, and a persistence manager that supports your backing store. These plugins
may then be configured to behave in a certain way. Once you have created a
configuration one or more beans may be configured to use this configuration. This
allows you to have one configuration for all beans (i.e. one size fits all), or one
configuration for each bean. Both options are possible. A couple of default
configurations are loaded automatically when you create a new JBoss descriptor. Below
is a screenshot showing a container configuration being constructed.</p>
<p><img src="../pictures/confgui.gif">
<p>Besides container configurations you may also add information that
is specific for each bean, such as which JNDI-name to bind a bean to. Below is a
screenshot showing a bean being configured.</p>
<p><img src="../pictures/jbossgui.gif">
1.3 +1 -1 newsite/documentation/ejbref_howto.html
Index: ejbref_howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/ejbref_howto.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ejbref_howto.html 2000/11/17 01:51:55 1.2
+++ ejbref_howto.html 2001/02/08 05:31:31 1.3
@@ -6,7 +6,7 @@
<title>Declaring an ejb reference</title>
</head>
- <font face="arial,helvetica" size="6" color="#ffcc00">How can I declare an ejb
reference in jBoss? </font>
+ <font face="arial,helvetica" size="6" color="#ffcc00">How can I declare an ejb
reference in JBoss? </font>
<p>An ejb reference (see ejb1.1 specification, 14.3, p207) is when a bean A
wants to call methods on a bean B. We are talking about intra-bean calls also called
B2B calls. This is not for clients (that is covered in the beginner trails) this is
for bean calls all on the server. Most of these calls are done inside the server
VM.</p>
<p>This call will look like this: (beans running on the server must use the
<tt>java:comp/env</tt> namespace).</p>
<p>
1.4 +1 -1 newsite/documentation/jawsxml_howto.html
Index: jawsxml_howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jawsxml_howto.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- jawsxml_howto.html 2001/01/03 17:21:54 1.3
+++ jawsxml_howto.html 2001/02/08 05:31:31 1.4
@@ -9,7 +9,7 @@
Customizing JAWS
</font>
-<p><a href="jaws/jaws.html">JAWS</a> is the O/R mapper used by jBoss to manage CMP
entity beans. JAWS can be configured by putting a <em>jaws.xml</em> file in the
<em>META-INF</em> directory of your application. JAWS will read this file while
deploying your beans. Here is what you can do with <em>jaws.xml</em>:<ul>
+<p><a href="jaws/jaws.html">JAWS</a> is the O/R mapper used by JBoss to manage CMP
entity beans. JAWS can be configured by putting a <em>jaws.xml</em> file in the
<em>META-INF</em> directory of your application. JAWS will read this file while
deploying your beans. Here is what you can do with <em>jaws.xml</em>:<ul>
<li><a href="#datasource">Specify a datasource and the type-mappings to use with
it</a>
<li><a href="#options">Set a bunch of options concerning jaws behavior</a>
1.2 +11 -11 newsite/documentation/jboss1.html
Index: jboss1.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss1.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss1.html 2000/11/12 20:33:46 1.1
+++ jboss1.html 2001/02/08 05:31:32 1.2
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 4">
- <title>Step 1: installing jBoss</title>
+ <title>Step 1: installing JBoss</title>
</head>
- <font face="arial,helvetica" size="6" color="#ffcc00">Step 1: installing jBoss
</font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <font face="arial,helvetica" size="6" color="#ffcc00">Step 1: installing JBoss
</font>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -22,14 +22,14 @@
</tr>
</table>
<p>Before installing and running the server, you should check that your JDK
installation is working. <a href="jboss1a.html">(Step-by-step instructions are
available.)</a> You will <i>need</i> the JDK binaries directory in your PATH (this is
essential: see below) not just for the user account which is doing the installation,
but also for the user account that will run the server. If you are running the server
as root, you should check that the JDK binaries are in the PATH even for root (root
and ordinary users normally have different PATH settings). You won't need to specify a
CLASSPATH environment variable if you don't normally have to.<br>
- The next step will be to download,
install and test the jBoss server. At the time of writing the most recent version of
jBoss is 2.0. You can get jBoss from <a
href="http://www.jboss.org">www.jboss.org</a><br>
- It doesn't matter very much where you
install jBoss; my preference is to use <code>/usr/local/jboss</code>. If you don't
have root access, or would rather not run untested software as root, jboss will work
perfectly well if installed in a user directory and run as an ordinary user. I will
assume in this tutorial that you are installing in <code>/usr/local/jboss</code>. If
you haven't, change the paths as appropriate.<br>
- jBoss is <a
href="http://jboss.org/jBoss2/install.htm">distributed using Install Anywhere</a>
which isn't a natural format for Linux users. If you're running the X Window System on
your Linux machine and you have Netscape installed with Java enabled, this might work
for you. Otherwise, your best bet right now is to <a href="cvs.htm">download from
CVS</a> or to install from the Zip file like this:</p>
+ The next step will be to download,
install and test the JBoss server. At the time of writing the most recent version of
JBoss is 2.0. You can get JBoss from <a
href="http://www.jboss.org">www.jboss.org</a><br>
+ It doesn't matter very much where you
install JBoss; my preference is to use <code>/usr/local/jboss</code>. If you don't
have root access, or would rather not run untested software as root, jboss will work
perfectly well if installed in a user directory and run as an ordinary user. I will
assume in this tutorial that you are installing in <code>/usr/local/jboss</code>. If
you haven't, change the paths as appropriate.<br>
+ JBoss is <a
href="http://jboss.org/JBoss2/install.htm">distributed using Install Anywhere</a>
which isn't a natural format for Linux users. If you're running the X Window System on
your Linux machine and you have Netscape installed with Java enabled, this might work
for you. Otherwise, your best bet right now is to <a href="cvs.htm">download from
CVS</a> or to install from the Zip file like this:</p>
<pre>su
mkdir /usr/local/jboss
cd /usr/local/jboss
lynx -source \
- http://jboss.org/jBoss2/InstData/Other/install.zip \
+ http://jboss.org/JBoss2/InstData/Other/install.zip \
> install.zip
mkdir installer
cd installer
@@ -42,7 +42,7 @@
<pre>cd bin
java -jar run.jar</pre>
<p> In a proper installation, the server
should start without any error messages or exceptions being thrown. It will produce
about three pages of output on startup.<br>
- The jBoss distribution is supplied with
one test Bean, packaged as <code>bank.jar</code>. This is supplied in the `deploy'
subdirectory, which is where Beans are placed to deploy them. The effect of this is to
deploy the `bank' bean when the server starts up. This is fine the first time, as it
tests that the SQL server is working, but you can usefully move <code>bank.jar</code>
out of the <code>deploy</code> directory when you are sure that everything's OK, and
the server will start up more quickly.
+ The JBoss distribution is supplied with
one test Bean, packaged as <code>bank.jar</code>. This is supplied in the `deploy'
subdirectory, which is where Beans are placed to deploy them. The effect of this is to
deploy the `bank' bean when the server starts up. This is fine the first time, as it
tests that the SQL server is working, but you can usefully move <code>bank.jar</code>
out of the <code>deploy</code> directory when you are sure that everything's OK, and
the server will start up more quickly.
<table border="1" cellspacing="0" cellpadding="5" bgcolor="#ffff80">
<tr valign="top">
<th>Error Message</th>
@@ -69,15 +69,15 @@
</tr>
<tr valign="top">
<td>[Webserver] java.net.UnknownHostException:...</td>
- <td>The jBoss server tries to establish its host's IP number
when it starts up. If it can't do this, you will see this error message. This problem
is quite common on systems that get their network configuration parameters
dynamically. For example, if your computer connects to the Internet by a dial-up
connection, and you cancel the dial-up process, you may end up with a hostname that
doesn't make sense. You can re-establish your connection or you can temporarily reset
your hostname to `localhost' like this:
+ <td>The JBoss server tries to establish its host's IP number
when it starts up. If it can't do this, you will see this error message. This problem
is quite common on systems that get their network configuration parameters
dynamically. For example, if your computer connects to the Internet by a dial-up
connection, and you cancel the dial-up process, you may end up with a hostname that
doesn't make sense. You can re-establish your connection or you can temporarily reset
your hostname to `localhost' like this:
<pre># hostname localhost</pre>
</td>
</tr>
<tr valign="top">
<td>[Webserver] java.net.BindException: Address already in
use</td>
- <td>This probably means you already have jBoss running and
you're trying to start it a second time. Use this command:
+ <td>This probably means you already have JBoss running and
you're trying to start it a second time. Use this command:
<pre># ps ax | grep run.jar</pre>
- <p>to determine the process ID of the previous attempt
to invoke jBoss then use kill -9 (pid) to kill that PID. Restart jBoss.</td>
+ <p>to determine the process ID of the previous attempt
to invoke JBoss then use kill -9 (pid) to kill that PID. Restart JBoss.</td>
</tr>
<tr valign="top">
<td>[Container factory]
javax.management.InstanceNotFoundException: DefaultDomain: service=Webserver</td>
1.2 +3 -3 newsite/documentation/jboss1a.html
Index: jboss1a.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss1a.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss1a.html 2000/11/12 20:33:46 1.1
+++ jboss1a.html 2001/02/08 05:31:32 1.2
@@ -7,12 +7,12 @@
</head>
<p><font face=arial,helvetica size=+3 color="#ffcc00"> Step 1a: downloading and
installing JDK 1.3 </font> </p>
-<p> <font face=arial,helvetica size=+2>Beginning EJB programming using
jBoss</font> </p>
+<p> <font face=arial,helvetica size=+2>Beginning EJB programming using
JBoss</font> </p>
<TABLE ALIGN="CENTER" BORDER=1 CELLSPACING=0 CELLPADDING=4>
<tr>
<td>
<p align=center><a href=jboss1.html>
- BACK: Step 1: installing jBoss </a></p>
+ BACK: Step 1: installing JBoss </a></p>
</td>
<td>
<p align=center><a href=jboss_linux_trail_index.html > contents </a></p>
@@ -86,7 +86,7 @@
<tr>
<td>
<p align=center><a href=jboss1.html>
- BACK: Step 1: installing jBoss </a></p>
+ BACK: Step 1: installing JBoss </a></p>
</td>
<td>
<p align=center><a href=jboss_linux_trail_index.html > contents </a></p>
1.2 +5 -5 newsite/documentation/jboss2.html
Index: jboss2.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss2.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss2.html 2000/11/12 20:33:47 1.1
+++ jboss2.html 2001/02/08 05:31:32 1.2
@@ -7,13 +7,13 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 2: creating the
Bean </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
<td>
<center>
- <a href="jboss1.html">BACK: Step 1: installing
jBoss </a></center>
+ <a href="jboss1.html">BACK: Step 1: installing
JBoss </a></center>
</td>
<td>
<center>
@@ -49,7 +49,7 @@
</ul>
<p> Of course, a Bean can include other
classes, or even other packages, but the classes listed above are the minimum. The
classes must be packaged into a JAR archive with a directory structure that reflects
the hierarchy of packages. In the example, the classes are in the package
<code>com.web_tomorrow.interest</code>, so they need to be in the directory
<pre>./com/web_tomorrow/interest/</pre>
- <p>where the `.' represents the current working directory, wherever that is.
You will also need a directory called <code>META-INF</code> to store the deployment
descriptor (always called <code>ejb-jar.xml</code>) and -- optionally -- another XML
file to tell the server about name mappings. With jBoss, this file must be called
<code>jboss.xml</code>.<br>
+ <p>where the `.' represents the current working directory, wherever that is.
You will also need a directory called <code>META-INF</code> to store the deployment
descriptor (always called <code>ejb-jar.xml</code>) and -- optionally -- another XML
file to tell the server about name mappings. With JBoss, this file must be called
<code>jboss.xml</code>.<br>
So before writing the classes, we need a
directory structure like this:
<pre>
com
@@ -191,14 +191,14 @@
Notice that most of the methods are empty; they have to exist because they're
specified by the SessionBean interface, but they don't need to do anything in this
case.<br>
If you haven't already done so, you
should create these .java files in the directory
<code>./com/web_tomorrow/interest</code> (or unpack the archive with them in). Then
you can compile them using the command</p>
<pre>javac -classpath /usr/local/jboss/lib/ext/ejb.jar
com/web_tomorrow/interest/*.java</pre>
- <p>substituting the correct path to the jBoss class EJB library if you haven't
installed jBoss in <code>/usr/local/jboss</code>. This should create three class
files: <code>InterestBean.class</code>, <code>Interest.class</code>, and
<code>InterestHome.class</code>. If you have `make' on your system, and you have
unpacked the archive, you can build all the classes just be running <code>make</code>
in the same directory as the Makefile.<br>
+ <p>substituting the correct path to the JBoss class EJB library if you haven't
installed JBoss in <code>/usr/local/jboss</code>. This should create three class
files: <code>InterestBean.class</code>, <code>Interest.class</code>, and
<code>InterestHome.class</code>. If you have `make' on your system, and you have
unpacked the archive, you can build all the classes just be running <code>make</code>
in the same directory as the Makefile.<br>
With the classes compiled, it's time to
create the deployment descriptor.
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
<td>
<center>
- <a href="jboss1.html">BACK: Step 1: installing
jBoss </a></center>
+ <a href="jboss1.html">BACK: Step 1: installing
JBoss </a></center>
</td>
<td>
<center>
1.2 +4 -4 newsite/documentation/jboss3.html
Index: jboss3.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss3.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss3.html 2000/11/12 20:33:47 1.1
+++ jboss3.html 2001/02/08 05:31:32 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 3: the deployment
descriptor </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -26,7 +26,7 @@
</tr>
</table>
<p>Now it's time to create the deployment descriptor. As a reminder, this file
tells the EJB server which classes form the Bean, the home interface and the remote
interface. If there is more than one Bean in the package, it indicates also how the
Beans interact with one another. In this simple example, there is only one Bean so we
won't need to worry about that part.<br>
- Most commercial EJB servers are supplied
with graphical tools for constructing the deployment descriptor. jBoss does have an
XML editor, but it's just as easy to construct the deployment descriptor manually.
Here it is:</p>
+ Most commercial EJB servers are supplied
with graphical tools for constructing the deployment descriptor. JBoss does have an
XML editor, but it's just as easy to construct the deployment descriptor manually.
Here it is:</p>
<p><b>ejb-jar.xml: deployment descriptor for the Interest Bean</b><br>
<hr>
<table border="0" bgcolor="#80ff80" cellspacing="4">
@@ -34,7 +34,7 @@
<td>
<pre><?xml version="1.0"
encoding="Cp1252"?>
<ejb-jar>
- <description>jBoss test application</description>
+ <description>JBoss test application</description>
<display-name>Test</display-name>
<enterprise-beans>
<session>
@@ -58,7 +58,7 @@
<p>In practice client applications are not forced to use this name. Typically
a developer will not bother with specifying a different name for the
JNDI namespace. However a production installation of a complete application
comprising many beans, will usually use a different name than the one specified by the
developer. Typically it could use `[application name]/[bean name]', which is what we
shall use later.<br>
</p>
<p> Although the deployment descriptor
format of the ejb-jar.xml file is common to all EJB servers, and precisely defined in
a DTD you can get from SUN, it doesn't specify some advanced stuff. Specifically it
does not know how to map ejb-name to a deployment JNDI such as the one we just
talked about. It also doesn't know how to map resources. The server may also need to
be told how to manage persistence and state. There is, as yet, no standard way of
specifying these things, and every server implementation does it differently. </p>
- <p>The approach taken by jBoss is it provides a standard behaviour that works
mostly from the ejb-jar.xml file. There is no need for additional information in most
cases. In case of advanced configurations we define the jboss.xml file that gives all
the relevant information to the container, such as JNDI mapping names, persistence
information, database mapping and advanced container configuration (interceptors and
plugins), please refer to the chapter on jboss.xml for detailed information of what it
can do, we will cover simple things here. <br>
+ <p>The approach taken by JBoss is it provides a standard behaviour that works
mostly from the ejb-jar.xml file. There is no need for additional information in most
cases. In case of advanced configurations we define the jboss.xml file that gives all
the relevant information to the container, such as JNDI mapping names, persistence
information, database mapping and advanced container configuration (interceptors and
plugins), please refer to the chapter on jboss.xml for detailed information of what it
can do, we will cover simple things here. <br>
</p>
<p>The standard behaviour of jboss is capable of working from ejb-jar.xml in
95% of cases and needs jboss.xml only if you need to specify specific deployment
information. </p>
<p>An additional feature of the new metadata is that it works
"differentially". In clear what this means is that if you wish to override
the name of a bean you need to only specify that part of xml tags in the jboss.xml
file.</p>
1.2 +1 -1 newsite/documentation/jboss4.html
Index: jboss4.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss4.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss4.html 2000/11/12 20:33:48 1.1
+++ jboss4.html 2001/02/08 05:31:32 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 4: packaging and
deploying the Bean </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
1.2 +2 -2 newsite/documentation/jboss5.html
Index: jboss5.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss5.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss5.html 2000/11/12 20:33:48 1.1
+++ jboss5.html 2001/02/08 05:31:32 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 5: coding the test
client </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -115,7 +115,7 @@
</td>
</tr>
</table>
- There are several other ways to do this, which you may see described in other
articles. In this case, the server is on the same machine as the client (`localhost')
and the default naming port is `1099' for jBoss (other servers may use different port
numbers). If you run the client and the server on different machines, you will need to
change these settings.<br>
+ There are several other ways to do this, which you may see described in other
articles. In this case, the server is on the same machine as the client (`localhost')
and the default naming port is `1099' for JBoss (other servers may use different port
numbers). If you run the client and the server on different machines, you will need to
change these settings.<br>
The comments in the program should
describe how it works; one point that requires mention is that the recommended way to
get a reference to the home interface on the server is like this:
<table border="0" bgcolor="#80ff80" cellspacing="4">
<tr>
1.2 +2 -2 newsite/documentation/jboss6.html
Index: jboss6.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss6.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss6.html 2000/11/12 20:33:49 1.1
+++ jboss6.html 2001/02/08 05:31:32 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 6: compiling and
running the test client </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -32,7 +32,7 @@
/usr/local/jboss/lib/ext/ejb.jar:/usr/local/jboss/client/jboss-client.jar \
InterestClient </pre>
<p> Once again, this needs to go in a
shell script or a Makefile; you won't want to type it more than once.<br>
- Note the long CLASSPATH; it needs to
include the jBoss client classes and the EJB classes as well as the standard classpath
(if any).<br>
+ Note the long CLASSPATH; it needs to
include the JBoss client classes and the EJB classes as well as the standard classpath
(if any).<br>
If all is well, the test client produces
the following output:
<table border="0" bgcolor="#ffff80" cellspacing="4">
<tr>
1.2 +7 -7 newsite/documentation/jboss7.html
Index: jboss7.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss7.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss7.html 2000/11/12 20:33:49 1.1
+++ jboss7.html 2001/02/08 05:31:32 1.2
@@ -7,7 +7,7 @@
</head>
<p><font face=arial,helvetica size=+3 color="#ffcc00"> Step 7: compiling the test
client as a servlet</font> </p>
-<p> <font face=arial,helvetica size=+2>Beginning EJB programming using
jBoss</font> </p>
+<p> <font face=arial,helvetica size=+2>Beginning EJB programming using
JBoss</font> </p>
<TABLE ALIGN="CENTER" BORDER=1 CELLSPACING=0 CELLPADDING=4>
<tr>
<td>
@@ -24,20 +24,20 @@
test client as a servlet.<br>
Before you go messing around with servlets,
you'll need
a servlet engine. I used <A HREF="http://www.apache.org/">Apache JServ</A> for
this; it
-integrates well with jBoss.
+integrates well with JBoss.
(<A HREF="http://www.cc.ndsu.nodak.edu/servergroup/apache-java-servlet.html">These
instructions</A> are good, but a little out of date, version-wise.) You could
probably
use any other servlet engine as well.<br>
After you install Apache JServ, you'll need to
edit
-<code>/usr/local/jserv/etc/jserv.properties</code> and add the jBoss jar files to
your servlet engine's
+<code>/usr/local/jserv/etc/jserv.properties</code> and add the JBoss jar files to
your servlet engine's
classpath:
<TABLE BORDER=0 BGCOLOR="#80FF80" CELLSPACING=4><TR><TD><PRE>
-# These are for jBoss/EJB integration...
+# These are for JBoss/EJB integration...
wrapper.classpath=/usr/local/jboss/client/jboss-client.jar
wrapper.classpath=/usr/local/jboss/lib/ext/ejb.jar
# This one allows our test EJB servlet to access
-# the jBoss example bean's classes
+# the JBoss example bean's classes
wrapper.classpath=/usr/local/jboss/examples/interest/interest-client.jar
</PRE></TD></TR></TABLE>
You may notice that the last line refers to a
file
@@ -70,7 +70,7 @@
/**
* This Servlet provides a user interface to an Enterprise Java Bean.
- * The example EJB described in the jBoss documentation at
+ * The example EJB described in the JBoss documentation at
* <http://jboss.org/> calculates compound interest. This servlet
* is based on Hello.java, distributed with Apache JServ.
* This servlet will call the Interest EJB, passing it a few
@@ -162,7 +162,7 @@
</PRE>
As usual, this should go in a shell script or
a Makefile; you won't want to
type it more than once. Note the long CLASSPATH; it needs to include
-the servlet classes, the jBoss client classes and the EJB classes as well as the
+the servlet classes, the JBoss client classes and the EJB classes as well as the
standard classpath (if any). <br>
If all is well, the test client produces
the following HTML output:
1.2 +7 -7 newsite/documentation/jboss_cmp.html
Index: jboss_cmp.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_cmp.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_cmp.html 2000/11/12 20:33:50 1.1
+++ jboss_cmp.html 2001/02/08 05:31:32 1.2
@@ -3,20 +3,20 @@
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 4">
- <title>Using container-managed persistence with jBoss</title>
+ <title>Using container-managed persistence with JBoss</title>
</head>
- <font face="arial,helvetica" size="6" color="#ffcc00">Using container-managed
persistence with jBoss </font>
- <p><a href="jboss_linux.html">EJBs on jBoss</a></p>
+ <font face="arial,helvetica" size="6" color="#ffcc00">Using container-managed
persistence with JBoss </font>
+ <p><a href="jboss_linux.html">EJBs on JBoss</a></p>
<p>By Kevin Boone (<a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>)</p>
<p><font face="arial,helvetica" size="5">What this article is about</font></p>
- <p>This article presensts a step-by-step example of creating, deploying and
testing an Entity JavaBean that uses `container-managed persistence' with the jBoss
EJB server. This example is very simple, and is a variation of the old favourite
`music CD' case study. I have chosen this example because the application is likely to
be familiar to most people without much explanation. In short, the `CD' EJB models a
music CD. Applications will want to add and delete CDs to a collection, and search the
collection for specific CDs. There is also a `CDCollection' EJB that lists and
searches collections of CDs.<br>
+ <p>This article presensts a step-by-step example of creating, deploying and
testing an Entity JavaBean that uses `container-managed persistence' with the JBoss
EJB server. This example is very simple, and is a variation of the old favourite
`music CD' case study. I have chosen this example because the application is likely to
be familiar to most people without much explanation. In short, the `CD' EJB models a
music CD. Applications will want to add and delete CDs to a collection, and search the
collection for specific CDs. There is also a `CDCollection' EJB that lists and
searches collections of CDs.<br>
The full source code to accompany this
article can be found here (in gzipped tar format). This archive contains the Java
source code, JavaDoc documentation, and a text file of test data (CDs.txt) to
initialize the database.<br>
Although I will occasionally make
reference to Linux, this is only because that's what I use for EJB development; most
of the material in this article will work with any Unix version, and even with Windows
NT if the directory structure is adjusted accordingly.</p>
<p><font face="arial,helvetica" size="5">Pre-requisites</font></p>
- <p>You will need a fully-functioning jBoss installation to follow this
tutorial, which must have a working database connection. I will assume that you are
basically familiar with EJBs and know how to structure and compile JavaBeans as Java
packages. Also I will assume you know the basic structure of a <i>deployment
descriptor</i>, and the run-time descriptor that jBoss uses (jboss.xml). I will assume
that you know how to package and deploy EJBs using jBoss. If you don't know about
these things, you might want to look at my <a href="jboss_linux.html">introductory
article</a> on jBoss first.</p>
- <p><font face="arial,helvetica" size="5">jBoss hints</font></p>
- <p>jBoss is written entirely in Java, as is the `Hypersonic' database with
which it is supplied. Searching a database requires lots of repetitive operations, and
an interpreting Java system will be extremely slow if the database is large. If you
are using the Sun JDK, you will need to ensure that it is configured to use the
`Hotspot' virtual machine, to achieve anything close to acceptable performance. For
the purposes of study, you could get along by ensuring that the database size is kept
small, but with even a hundred objects you will find it too slow to use. Some Linux
systems are reluctant to use the `Hotspot' JVM, but they can normally be coerced
to.</p>
+ <p>You will need a fully-functioning JBoss installation to follow this
tutorial, which must have a working database connection. I will assume that you are
basically familiar with EJBs and know how to structure and compile JavaBeans as Java
packages. Also I will assume you know the basic structure of a <i>deployment
descriptor</i>, and the run-time descriptor that JBoss uses (jboss.xml). I will assume
that you know how to package and deploy EJBs using JBoss. If you don't know about
these things, you might want to look at my <a href="jboss_linux.html">introductory
article</a> on JBoss first.</p>
+ <p><font face="arial,helvetica" size="5">JBoss hints</font></p>
+ <p>JBoss is written entirely in Java, as is the `Hypersonic' database with
which it is supplied. Searching a database requires lots of repetitive operations, and
an interpreting Java system will be extremely slow if the database is large. If you
are using the Sun JDK, you will need to ensure that it is configured to use the
`Hotspot' virtual machine, to achieve anything close to acceptable performance. For
the purposes of study, you could get along by ensuring that the database size is kept
small, but with even a hundred objects you will find it too slow to use. Some Linux
systems are reluctant to use the `Hotspot' JVM, but they can normally be coerced
to.</p>
<p><font face="arial,helvetica" size="5">Persistence: review</font></p>
<p>There are, in essence, two kinds of Enterprise JavaBean: <i>session</i> and
<i>entity</i>. Entity EJBs contain information that is persistent across different
client-Bean interactions, while session EJBs don't. For example, a class called
`Customer' that represents the customers of a particular service will contain
persistent information (about the customer). A class called `CustomerFinder', say,
that finds Customer instances that match certain criteria is likely to be a session
EJB, because it does not require information that is maintained between different
client-server interactions.<br>
Session EJBs can be further divided into
`stateless' and `stateful'. A stateful session EJB has a state that is persistent
between invocations of its methods. A stateless EJB does not even have to retain its
state between method invocations. The stateless session EJB is therefore the type of
EJB that exhibits the least persistence.<br>
1.2 +1 -1 newsite/documentation/jboss_cmp1.html
Index: jboss_cmp1.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_cmp1.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_cmp1.html 2000/11/12 20:33:50 1.1
+++ jboss_cmp1.html 2001/02/08 05:31:32 1.2
@@ -8,7 +8,7 @@
<font face=arial,helvetica size=+3 color="#ffcc00"> Step 1: determine the
persistent
classes </font>
<p>
-<p><font face=arial,helvetica size=+2>Using CMP with jBoss</font> </p>
+<p><font face=arial,helvetica size=+2>Using CMP with JBoss</font> </p>
<table align=center>
<tr>
<td>
1.2 +4 -4 newsite/documentation/jboss_cmp2.html
Index: jboss_cmp2.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_cmp2.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_cmp2.html 2000/11/12 20:33:51 1.1
+++ jboss_cmp2.html 2001/02/08 05:31:32 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 2: creating the
Beans </font>
- <p><font face="arial,helvetica" size="5">Using CMP with jBoss</font></p>
+ <p><font face="arial,helvetica" size="5">Using CMP with JBoss</font></p>
<p>
<table align="center">
<tr>
@@ -102,7 +102,7 @@
The remote interface specifies methods to get and set the attributes of the
object. That's all it needs to do in this example. Note that, as with any Java Bean,
the names of these methods must follow the standard convention; that is, if an
attribute is called `String X' then the `get' and `set' methods must be defined as
follows:
<pre>string getX();
void setX(String);</pre>
- <p>Note also that jBoss <i>requires</i> that these methods are declared as
`abstract' when using CMP. It does not matter for session Beans, and some EJB server
aren't fussy (e.g., Sun J2EE), but with CMP in jBoss you need to say `abstract'.
Failure to do so will result in the following error message during deployment:</p>
+ <p>Note also that JBoss <i>requires</i> that these methods are declared as
`abstract' when using CMP. It does not matter for session Beans, and some EJB server
aren't fussy (e.g., Sun J2EE), but with CMP in JBoss you need to say `abstract'.
Failure to do so will result in the following error message during deployment:</p>
<pre>[Container factory] org.jboss.ejb.DeploymentException: Could not find
matching
method for public abstract java.lang.String somepackage.getSomeField()
throws java.rmi.RemoteException, Cause:java.lang.NoSuchMethodException:
@@ -158,7 +158,7 @@
</pre>
<p>
<hr>
- <p>The important thing to note about this interface is that it specifies
methods that don't need to be implemented. In this case,
<code>findByPrimaryKey()</code>, <code>findByType()</code> and <code>findAll()</code>
are all examples of `finder' methods. The EJB specification requires that the server
be able to provide finder methods for all the persistent attributes in the object. So,
for example, if your class has an attribute `X', then the server will provide a
`findByX' method to search on that field. Note that with jBoss the search is `exact';
that is, it won't accept wild-card characters or an incorrect mixture of upper- and
lower-case letters. The <code>findByPrimaryKey()</code> searches on the primary key
field; we will discuss how the primary key is specified later.</p>
+ <p>The important thing to note about this interface is that it specifies
methods that don't need to be implemented. In this case,
<code>findByPrimaryKey()</code>, <code>findByType()</code> and <code>findAll()</code>
are all examples of `finder' methods. The EJB specification requires that the server
be able to provide finder methods for all the persistent attributes in the object. So,
for example, if your class has an attribute `X', then the server will provide a
`findByX' method to search on that field. Note that with JBoss the search is `exact';
that is, it won't accept wild-card characters or an incorrect mixture of upper- and
lower-case letters. The <code>findByPrimaryKey()</code> searches on the primary key
field; we will discuss how the primary key is specified later.</p>
<p><b>CDBean.java: implementation of the `CD' Bean</b><br>
<hr>
</p>
@@ -232,7 +232,7 @@
<p>
<hr>
The CDBean class provides implementations of the methods that aren't provided
automatically by the EJB container. Note that the <code>ejbCreate</code> method
returns `null', meaning that the container should take care of initializing the
instance in the server's process space. Because the CD Bean is essentially passive --
a data repository -- it only has a few methods.
- <p>These classes (and the CDCollection classes) can be compiled in the usual
way; don't forget to include the path to the jBoss EJB class library in your
classpath, e.g.,</p>
+ <p>These classes (and the CDCollection classes) can be compiled in the usual
way; don't forget to include the path to the JBoss EJB class library in your
classpath, e.g.,</p>
<p>javac -classpath /usr/lib/jboss/lib/ext/ejb.jar:. ....</p>
<p></body>
1.2 +5 -5 newsite/documentation/jboss_cmp3.html
Index: jboss_cmp3.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_cmp3.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_cmp3.html 2000/11/12 20:33:51 1.1
+++ jboss_cmp3.html 2001/02/08 05:31:32 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 3: packaging and
deploying the Beans </font>
- <p><font face="arial,helvetica" size="5">Using CMP with jBoss</font></p>
+ <p><font face="arial,helvetica" size="5">Using CMP with JBoss</font></p>
<p>
<table align="center">
<tr>
@@ -96,7 +96,7 @@
</p>
<p>
<hr>
- <p>In the jBoss run-time configuration file `jboss.xml' we should specify the
JNDI names of the Beans, like this:</p>
+ <p>In the JBoss run-time configuration file `jboss.xml' we should specify the
JNDI names of the Beans, like this:</p>
<p>
<hr>
</p>
@@ -121,7 +121,7 @@
<hr>
<p>This says the `CDBean' has the JNDI name `cd/CD' and `CDCollectionBean' has
the JNDI name `cd/CDCollection'. Note that the method of specifying these JNDI names
depends on the server.<br>
When packaging these Beans, don't forget
to include the files <code>ejb-jar.xml</code> and <code>jboss.jar</code> in the
directory <code>META-INF</code>.<br>
- During deployment (simply copy the
packaged beans to the `deploy' subdirectory of the jBoss directory) you should see a
message like the following:</p>
+ During deployment (simply copy the
packaged beans to the `deploy' subdirectory of the JBoss directory) you should see a
message like the following:</p>
<p>
<table border="0" bgcolor="#ffff80" cellspacing="4">
<tr>
@@ -149,8 +149,8 @@
</table>
</p>
<p></p>
- <p>`JAWS' is the jBoss interface to the database engine. During deployment
JAWS has deleted any existing table called `CDBean', then created a new CDBean table
with the specified column layout. How does it know to use <code>VARCHAR(256)</code>
for each field? It doesn't: it's guessing because we haven't provided any other
information. During deployment, JAWS looks for a file called `jaws.xml'; if this file
exists it is read to configure the names and geometry of the database tables.
<code>VARCHAR(256)</code> is the default for String attributes. The default table name
is the same as that of the Bean class, which is why we have ended up with a table
called `CDBean'. This also can be over-ridden in jaws.xml. In practice, the JAWS
defaults are adequate for most applications. However, there may be speed advantages to
using fixed-length fields (e.g., <code>CHAR(XX)</code> rather than variable-length
ones if at all possible.<br>
- Note that it can be very difficult to
change the number or names of columns in the table once there is data in it. jBoss
gets very confused by this, as you would expect. When a CMP Bean is re-deployed, JAWS
tries to write into its table all the data it had in its last deployment. If the table
has different columns it probably won't be able to do that. This means that it is
important to get the persistent fields thoroughly correct before starting to put real
data into the application.
+ <p>`JAWS' is the JBoss interface to the database engine. During deployment
JAWS has deleted any existing table called `CDBean', then created a new CDBean table
with the specified column layout. How does it know to use <code>VARCHAR(256)</code>
for each field? It doesn't: it's guessing because we haven't provided any other
information. During deployment, JAWS looks for a file called `jaws.xml'; if this file
exists it is read to configure the names and geometry of the database tables.
<code>VARCHAR(256)</code> is the default for String attributes. The default table name
is the same as that of the Bean class, which is why we have ended up with a table
called `CDBean'. This also can be over-ridden in jaws.xml. In practice, the JAWS
defaults are adequate for most applications. However, there may be speed advantages to
using fixed-length fields (e.g., <code>CHAR(XX)</code> rather than variable-length
ones if at all possible.<br>
+ Note that it can be very difficult to
change the number or names of columns in the table once there is data in it. JBoss
gets very confused by this, as you would expect. When a CMP Bean is re-deployed, JAWS
tries to write into its table all the data it had in its last deployment. If the table
has different columns it probably won't be able to do that. This means that it is
important to get the persistent fields thoroughly correct before starting to put real
data into the application.
<p> </p>
<p></body>
1.2 +2 -2 newsite/documentation/jboss_cmp4.html
Index: jboss_cmp4.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_cmp4.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_cmp4.html 2000/11/12 20:33:52 1.1
+++ jboss_cmp4.html 2001/02/08 05:31:33 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 4: creating a test
client </font>
- <p><font face="arial,helvetica" size="5">Using CMP with jBoss</font></p>
+ <p><font face="arial,helvetica" size="5">Using CMP with JBoss</font></p>
<p>
<table align="center">
<tr>
@@ -114,7 +114,7 @@
</p>
<p>
<hr>
- <p>To run this client you will need to specify in the CLASSPATH the location
the jBoss client libraries, so the command line will be like this:</p>
+ <p>To run this client you will need to specify in the CLASSPATH the location
the JBoss client libraries, so the command line will be like this:</p>
<pre></pre>
<p>
<table border="0" bgcolor="#ffff80" cellspacing="4">
1.2 +2 -2 newsite/documentation/jboss_cmp_trail_index.html
Index: jboss_cmp_trail_index.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_cmp_trail_index.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_cmp_trail_index.html 2000/11/12 20:33:44 1.1
+++ jboss_cmp_trail_index.html 2001/02/08 05:31:33 1.2
@@ -1,11 +1,11 @@
<html>
<head>
<title>
-jBoss-CMP
+JBoss-CMP
</title>
</head>
-<font face=arial,helvetica size=+3 color="#ffcc00"> jBoss-CMP </font>
+<font face=arial,helvetica size=+3 color="#ffcc00"> JBoss-CMP </font>
<p>
<table>
<tr>
1.2 +16 -16 newsite/documentation/jboss_linux.html
Index: jboss_linux.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_linux.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_linux.html 2000/11/12 20:33:54 1.1
+++ jboss_linux.html 2001/02/08 05:31:33 1.2
@@ -1,20 +1,20 @@
<html>
<head>
<title>
-Beginning EJB programming using jBoss
+Beginning EJB programming using JBoss
</title>
</head>
<p><font face=arial,helvetica size=+3 color="#ffcc00"> Beginning EJB programming
using
- jBoss</font></p>
+ JBoss</font></p>
<table>
<tr>
- <td> <a href=jboss_cmp.html> CMP with jBoss </a> </td>
+ <td> <a href=jboss_cmp.html> CMP with JBoss </a> </td>
</tr>
</table>
<p>By Kevin Boone ([EMAIL PROTECTED]) </p>
<p> <font face=arial,helvetica size=+2>What this article is about</font>
-<p> This article presensts a step-by-step tutorial on how to set up `jBoss', the
+<p> This article presensts a step-by-step tutorial on how to set up `JBoss', the
free Enterprise JavaBean (EJB) server, and create your first Enterprise JavaBean
and client. It doesn't explain what Enterprise JavaBeans are, or how they are
used; there are a number of good introductory articles on Sun's JavaSoft Web
@@ -22,36 +22,36 @@
the issues discussed in this article will also apply to other platforms. If
you are using a Windows platform you will need to pay attention to the directory
names, which will be different from the one's I've assumed.
-<p> <font face=arial,helvetica size=+2>About jBoss</font>
-<p> jBoss is an implementation of the EJB 1.1 specification, that is, it is a
+<p> <font face=arial,helvetica size=+2>About JBoss</font>
+<p> JBoss is an implementation of the EJB 1.1 specification, that is, it is a
server and container for Enterprise JavaBeans. In this it is similar to Sun's
- `J2SDK Enterprise Edition' (J2EE), but jBoss is much more single-minded than
- J2EE. jBoss provides <i>only</i> an EJB server; it does not include support
+ `J2SDK Enterprise Edition' (J2EE), but JBoss is much more single-minded than
+ J2EE. JBoss provides <i>only</i> an EJB server; it does not include support
for JSP, SSL, and all the other protocols that the Sun product can handle. This
- means that it is smaller in memory and in disk space. jBoss will run very
effectively
+ means that it is smaller in memory and in disk space. JBoss will run very
effectively
on a machine with 64 megabytes of RAM, and requires only 4 megabytes of disk
(including source code!). Sun's J2EE requires a <i>minimum</i> of 128 megabytes
of RAM, and 31 megabytes of disk space. That's not to criticise the Sun product;
it is a heavyweight offering providing a host of services. Because of its small
- memory footprint, jBoss starts up about 10 times faster than J2EE. There is
+ memory footprint, JBoss starts up about 10 times faster than J2EE. There is
a built-in SQL database server for handling persistent beans, and this starts
up automatically with the server (J2EE ships with the CloudScape SQL server,
which has to be started separately). <br>
- One of the nicest features of jBoss is
+ One of the nicest features of JBoss is
its support for `hot' deployment. What this means is that deploying a Bean is
a simple as copying its JAR file into the deployment directory. If this is done
- while the Bean is already loaded, jBoss automatically unloads it, then loads
+ while the Bean is already loaded, JBoss automatically unloads it, then loads
the new version. Contrast this with the rigmarole that J2EE makes us go
through...
- jBoss is distributed under the GNU public licence, which means that it's free,
+ JBoss is distributed under the GNU public licence, which means that it's free,
even for commercial work, and is likely to remain that way. You get no support,
of course. <br>
- The main weakness of jBoss is its
documentation.
+ The main weakness of JBoss is its
documentation.
There is, essentially, none. There is a mailing list, and you will almost
certainly
need recourse to it at some point. This article hopes to remedy this deficiency,
to a small degree, by describing step-by-step how a simple EJB can be created,
- deployed and tested on the jBoss server.
+ deployed and tested on the JBoss server.
<p> <font face=arial,helvetica size=+2>Pre-requisites</font>
-<p> jBoss is written entirely in Java, and requires a Java system compatible with
+<p> JBoss is written entirely in Java, and requires a Java system compatible with
JDK <b>1.3</b>. This is essential, not optional. Trust me on this; I've tried
it with JDK 1.2.2 and the `hot' deployment facility simply doesn't work. Since
it is now possible to get Linux JDKs directly from Sun, there's little reason
1.2 +3 -3 newsite/documentation/jboss_linux_trail_index.html
Index: jboss_linux_trail_index.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_linux_trail_index.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_linux_trail_index.html 2000/11/12 20:33:54 1.1
+++ jboss_linux_trail_index.html 2001/02/08 05:31:33 1.2
@@ -1,18 +1,18 @@
<html>
<head>
<title>
-jBoss-Linux
+JBoss-Linux
</title>
</head>
-<font face=arial,helvetica size=+3 color="#ffcc00"> jBoss-Linux </font>
+<font face=arial,helvetica size=+3 color="#ffcc00"> JBoss-Linux </font>
<p>
<img src="../pictures/jboss.gif" width="206" height="225" align="RIGHT">
<table BORDER=0>
<tr>
<td> <a href=jboss1.html >
- Step 1: installing jBoss </a> </td>
+ Step 1: installing JBoss </a> </td>
</tr>
<tr>
<td> <a href=jboss2.html >
1.2 +12 -12 newsite/documentation/jboss_win32_1.html
Index: jboss_win32_1.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_1.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_1.html 2000/11/12 20:33:54 1.1
+++ jboss_win32_1.html 2001/02/08 05:31:33 1.2
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 4">
- <title>Step 1: installing jBoss</title>
+ <title>Step 1: installing JBoss</title>
</head>
- <font face="arial,helvetica" size="6" color="#ffcc00">Step 1: installing jBoss
</font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <font face="arial,helvetica" size="6" color="#ffcc00">Step 1: installing JBoss
</font>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -21,23 +21,23 @@
</td>
</tr>
</table>
- <p>Before installing and running the server, you should check that your <a
href="http://java.sun.com/">JDK installation</a> is working. It is important that you
use JDK1.3 for your Java installation as many functions of jBoss 2.0 depend on
functionality that is only present in JDK1.3. You won't need to specify a CLASSPATH
environment variable if you don't normally have to.<br>
+ <p>Before installing and running the server, you should check that your <a
href="http://java.sun.com/">JDK installation</a> is working. It is important that you
use JDK1.3 for your Java installation as many functions of JBoss 2.0 depend on
functionality that is only present in JDK1.3. You won't need to specify a CLASSPATH
environment variable if you don't normally have to.<br>
You will <i>need</i> the JDK binaries
directory in your PATH (this is essential: see below) not just for the user account
which is doing the installation, but also for the user account that will run the
server.<br>
If you are running the server on Windows
NT as Administrator, you should check that the JDK binaries are in the PATH even for
Administrator. (Administrator and ordinary users normally have different PATH
settings. <code>Start | Settings | Control Panel | System | Environment tab | Path
variable</code>. In the Value field, put <code>c:\jdk1.3\bin;</code> in front. Click
Set. Click OK.)</p>
- <p>Now you can download, install and test the jBoss server. At the time of
writing the most recent version of jBoss is 2.0. You can get jBoss from <a
href="http://www.jboss.org/">www.jboss.org</a>.<br>
- jBoss is <a
href="http://jboss.org/binary.htm">distributed as a Zip file</a>. You should extract
jBoss into <a href="file:///c:/jboss"><code>c:\jboss</code></a>. (If you need to put
jBoss in another place, try to install it in a folder without a space in the name
because spaces cause problems when folder names are used in environment variables like
%CLASSPATH%. If you must install in a folder with a space, like <CODE>Program
Files</CODE>, try using the "short name" <CODE>Progra~1</CODE> in environment
variables.)<br>
- <!-- Commented out for the day when InstallAnywhere reappears... -- KJ
jBoss is <a
href="http://jboss.org/binary.htm">distributed using Install Anywhere</a> which is a
signed Java applet that works pretty well on Windows. By default Install Anywhere will
put jBoss in <a href="file:///c:/jboss"><code>c:\jboss</code></a>. (If you need to put
jBoss in another place, try to install it in a folder without a space in the name
because spaces cause problems when folder names are used in environment variables like
%CLASSPATH%. If you must install in a folder with a space, like <CODE>Program
Files</CODE>, try using the "short name" <CODE>Progra~1</CODE> in environment
variables.)<br> -->
- On a Windows NT system, you will not need
Administrator priviledges. <!-- Commented out... -- KJ Although Install Anywhere
may malfunction (you'll need to use "Other Java-enabled Platforms" instead)
--> jBoss itself will work perfectly well if installed in a user directory and run
as an ordinary user. I will assume in this tutorial that you are installing in
<code>c:\jboss</code>. If you haven't, change the paths as appropriate.</p>
+ <p>Now you can download, install and test the JBoss server. At the time of
writing the most recent version of JBoss is 2.0. You can get JBoss from <a
href="http://www.jboss.org/">www.jboss.org</a>.<br>
+ JBoss is <a
href="http://jboss.org/binary.htm">distributed as a Zip file</a>. You should extract
JBoss into <a href="file:///c:/jboss"><code>c:\jboss</code></a>. (If you need to put
JBoss in another place, try to install it in a folder without a space in the name
because spaces cause problems when folder names are used in environment variables like
%CLASSPATH%. If you must install in a folder with a space, like <CODE>Program
Files</CODE>, try using the "short name" <CODE>Progra~1</CODE> in environment
variables.)<br>
+ <!-- Commented out for the day when InstallAnywhere reappears... -- KJ
JBoss is <a
href="http://jboss.org/binary.htm">distributed using Install Anywhere</a> which is a
signed Java applet that works pretty well on Windows. By default Install Anywhere will
put JBoss in <a href="file:///c:/jboss"><code>c:\jboss</code></a>. (If you need to put
JBoss in another place, try to install it in a folder without a space in the name
because spaces cause problems when folder names are used in environment variables like
%CLASSPATH%. If you must install in a folder with a space, like <CODE>Program
Files</CODE>, try using the "short name" <CODE>Progra~1</CODE> in environment
variables.)<br> -->
+ On a Windows NT system, you will not need
Administrator priviledges. <!-- Commented out... -- KJ Although Install Anywhere
may malfunction (you'll need to use "Other Java-enabled Platforms" instead)
--> JBoss itself will work perfectly well if installed in a user directory and run
as an ordinary user. I will assume in this tutorial that you are installing in
<code>c:\jboss</code>. If you haven't, change the paths as appropriate.</p>
<p>You could try running the server now. <!-- Again, commented out until
InstallAnywhere comes back. -- KJ You can either run the program from the menu like
<code>Start | Programs | jboss2 | Server_jboss2</code> or o --> Open a Command Prompt
(DOS window), change to the <code>\jboss\bin</code> directory and run</p>
<pre>cd c:\jboss\bin
java -jar run.jar</pre>
<p> The server should start without any
error messages or exceptions being thrown. It will produce about three pages of output
on startup.<br>
- To deploy your beans, put them in
<CODE>C:\jboss\deploy\</CODE>. jBoss' AutoDeploy system will detect a new or revised
<CODE>.jar</CODE> file and automatically deploy your beans. If you still have the
jBoss window open, you'll see some messages scroll by as your bean deploys. (Note:
<CODE>C:\jboss\deploy\</CODE> must exist when you start jBoss or you'll need to
restart the server to activate the AutoDeploy mechanism.) <br>
+ To deploy your beans, put them in
<CODE>C:\jboss\deploy\</CODE>. JBoss' AutoDeploy system will detect a new or revised
<CODE>.jar</CODE> file and automatically deploy your beans. If you still have the
JBoss window open, you'll see some messages scroll by as your bean deploys. (Note:
<CODE>C:\jboss\deploy\</CODE> must exist when you start JBoss or you'll need to
restart the server to activate the AutoDeploy mechanism.) <br>
<!-- Commented out. There are no test beans in the BETA release. -- KJ
- The jBoss distribution is supplied with
one test Bean, packaged as <code>bank.jar</code> in the `deploy' subdirectory, which
is where Beans are placed to deploy them. The effect of this is to deploy the `bank'
bean when the server starts up. This is fine the first time, as it tests that the SQL
server is working, but you can usefully move <code>bank.jar</code> out of the
<code>deploy</code> directory when you are sure that everything's OK, and the server
will start up more quickly.<br>
+ The JBoss distribution is supplied with
one test Bean, packaged as <code>bank.jar</code> in the `deploy' subdirectory, which
is where Beans are placed to deploy them. The effect of this is to deploy the `bank'
bean when the server starts up. This is fine the first time, as it tests that the SQL
server is working, but you can usefully move <code>bank.jar</code> out of the
<code>deploy</code> directory when you are sure that everything's OK, and the server
will start up more quickly.<br>
-->
@@ -74,11 +74,11 @@
</tr>
<tr valign="top">
<td>[Webserver] java.net.UnknownHostException:...</td>
- <td>The jBoss server tries to establish its host's IP number
when it starts up. If it can't do this, you will see this error message. This problem
is quite common on systems that get their network configuration parameters
dynamically. For example, if your computer connects to the Internet by a dial-up
connection, and you cancel the dial-up process, you may end up with a hostname that
doesn't make sense. Re-establish your Internet connection.</td>
+ <td>The JBoss server tries to establish its host's IP number
when it starts up. If it can't do this, you will see this error message. This problem
is quite common on systems that get their network configuration parameters
dynamically. For example, if your computer connects to the Internet by a dial-up
connection, and you cancel the dial-up process, you may end up with a hostname that
doesn't make sense. Re-establish your Internet connection.</td>
</tr>
<tr valign="top">
<td>[Webserver] java.net.BindException: Address already in
use</td>
- <td>This probably means you already have jBoss running and
you're trying to start it a second time. CTL-ALT-DEL and use End Task to stop any
current instances of jBoss, then restart jBoss.</td>
+ <td>This probably means you already have JBoss running and
you're trying to start it a second time. CTL-ALT-DEL and use End Task to stop any
current instances of JBoss, then restart JBoss.</td>
</tr>
</table>
When you're happy that the server is
running correctly, go on to the next step.
1.2 +6 -6 newsite/documentation/jboss_win32_2.html
Index: jboss_win32_2.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_2.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_2.html 2000/11/12 20:33:55 1.1
+++ jboss_win32_2.html 2001/02/08 05:31:33 1.2
@@ -7,13 +7,13 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 2: creating the
Bean </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
<td>
<center>
- <a href="jboss_win32_1.html">BACK: Step 1:
installing jBoss </a></center>
+ <a href="jboss_win32_1.html">BACK: Step 1:
installing JBoss </a></center>
</td>
<td>
<center>
@@ -31,7 +31,7 @@
web_tomorrow
interest
{java source and class files here}</pre>
- <p> The commands in this tutorial are
specific to the jBoss installation path, so the complete structure will look like this:
+ <p> The commands in this tutorial are
specific to the JBoss installation path, so the complete structure will look like this:
<pre>jboss
examples
interest
@@ -49,7 +49,7 @@
</ul>
<p> Of course, a Bean can include other
classes, or even other packages, but the classes listed above are the minimum. The
classes must be packaged into a JAR archive with a directory structure that reflects
the hierarchy of packages. In the example, the classes are in the package
<code>com.web_tomorrow.interest</code>, so they need to be in the directory
<pre>c:\jboss\examples\interest\com\web_tomorrow\interest\</pre>
- <p>You will also need a directory called <code>META-INF</code> to store the
deployment descriptor (always called <code>ejb-jar.xml</code>) and -- optionally --
another XML file to tell the server about name mappings. With jBoss, this file must be
called <code>jboss.xml</code>.<br>
+ <p>You will also need a directory called <code>META-INF</code> to store the
deployment descriptor (always called <code>ejb-jar.xml</code>) and -- optionally --
another XML file to tell the server about name mappings. With JBoss, this file must be
called <code>jboss.xml</code>.<br>
So before writing the classes, we need a
directory structure like this:
<pre>com
web_tomorrow
@@ -190,14 +190,14 @@
If you haven't already done so, you
should create these <CODE>.java</CODE> files in the directory
<code>\jboss\examples\interest\com\web_tomorrow\interest</code> (or unpack the archive
with them in). Then you can compile them using the commands</p>
<pre>cd \jboss\examples\interest
javac -classpath ..\..\lib\ext\ejb.jar com\web_tomorrow\interest\*.java</pre>
- <p>(Naturally, you should the correct path if you haven't installed jBoss in
<code>c:\jboss</code>.) This should create three class files:
<code>InterestBean.class</code>, <code>Interest.class</code>, and
<code>InterestHome.class</code>. If you have `make' on your system, and you have
unpacked the archive, you can build all the classes just be running <code>make</code>
in the same directory as the Makefile.<br>
+ <p>(Naturally, you should the correct path if you haven't installed JBoss in
<code>c:\jboss</code>.) This should create three class files:
<code>InterestBean.class</code>, <code>Interest.class</code>, and
<code>InterestHome.class</code>. If you have `make' on your system, and you have
unpacked the archive, you can build all the classes just be running <code>make</code>
in the same directory as the Makefile.<br>
With the classes compiled, it's time to
create the deployment descriptor.
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
<td>
<center>
- <a href="jboss_win32_1.html">BACK: Step 1:
installing jBoss </a></center>
+ <a href="jboss_win32_1.html">BACK: Step 1:
installing JBoss </a></center>
</td>
<td>
<center>
1.2 +7 -7 newsite/documentation/jboss_win32_3.html
Index: jboss_win32_3.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_3.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_3.html 2000/11/12 20:33:56 1.1
+++ jboss_win32_3.html 2001/02/08 05:31:33 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 3: the deployment
descriptor </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming
using JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -26,7 +26,7 @@
</tr>
</table>
<p>Now it's time to create the deployment descriptor. As a reminder, this file
tells the EJB server which classes form the Bean, the home interface and the remote
interface. If there is more than one Bean in the package, it indicates also how the
Beans interact with one another. In this simple example, there is only one Bean so we
won't need to worry about that part.<br>
- Most commercial EJB servers are supplied
with graphical tools for constructing the deployment descriptor. jBoss does have an
XML editor, which runs like this: <PRE> cd C:\jboss\bin
+ Most commercial EJB servers are supplied
with graphical tools for constructing the deployment descriptor. JBoss does have an
XML editor, which runs like this: <PRE> cd C:\jboss\bin
java -jar ejx.jar</PRE>
Here is an example of the deployment descriptor it creates:</p>
<p><b><CODE>ejb-jar.xml</CODE>: deployment descriptor for the Interest
Bean</b><br>
@@ -37,7 +37,7 @@
<pre><?xml version="1.0"
encoding="Cp1252"?>
<ejb-jar>
- <description>jBoss test application </description>
+ <description>JBoss test application </description>
<display-name>Test</display-name>
<enterprise-beans>
<session>
@@ -57,13 +57,13 @@
The deployment descriptor must be called <code>ejb-jar.xml</code> and it must
be in the directory <code>.\META-INF</code>. A common mistake is to name this
directory `META_INF' (with an underscore, rather than a dash), which won't work.<br>
In principle what we deploy on the server
is an application, not a Bean. In this example our application consists of exactly one
Bean, so it comes to the same thing. In the deployment descriptor, the section</p>
<pre><ejb-name>Interest</ejb-name></pre>
- <p>assigns a name to the Bean. jBoss in its standard configuration will put
the bean's home interface under the ejb-name moniker if you don't specify anything
else. In other words, when your applications want to access the bean through its home
jBoss will put it in JNDI under the ejb-name. </p>
+ <p>assigns a name to the Bean. JBoss in its standard configuration will put
the bean's home interface under the ejb-name moniker if you don't specify anything
else. In other words, when your applications want to access the bean through its home
JBoss will put it in JNDI under the ejb-name. </p>
<p>In practice client applications are not forced to use this name. Typically
a developer will not bother with specifying a different name for the
JNDI namespace. However a production installation of a complete application
comprising many beans, will usually use a different name than the one specified by the
developer. Typically it could use `[application name]/[bean name]', which is what we
shall use later.<br>
</p>
<p> Although the deployment descriptor
format of the <CODE>ejb-jar.xml</CODE> file is common to all EJB servers, and
precisely defined in a DTD you can get from SUN, it doesn't specify some advanced
stuff. Specifically it does not know how to map ejb-name to a deployment
JNDI such as the one we just talked about. It also doesn't know how to map
resources. The server may also need to be told how to manage persistence and state.
There is, as yet, no standard way of specifying these things, and every server
implementation does it differently. </p>
- <p>The approach taken by jBoss is it provides a standard behaviour that works
mostly from the <CODE>ejb-jar.xml</CODE> file. There is no need for additional
information in most cases. In case of advanced configurations we define the
<CODE>jboss.xml</CODE> file that gives all the relevant information to the container,
such as JNDI mapping names, persistence information, database mapping and advanced
container configuration (interceptors and plugins), please refer to the chapter on
<CODE>jboss.xml</CODE> for detailed information of what it can do. <br>
+ <p>The approach taken by JBoss is it provides a standard behaviour that works
mostly from the <CODE>ejb-jar.xml</CODE> file. There is no need for additional
information in most cases. In case of advanced configurations we define the
<CODE>jboss.xml</CODE> file that gives all the relevant information to the container,
such as JNDI mapping names, persistence information, database mapping and advanced
container configuration (interceptors and plugins), please refer to the chapter on
<CODE>jboss.xml</CODE> for detailed information of what it can do. <br>
</p>
- <p>The standard behavior of jBoss is capable of working from
<CODE>ejb-jar.xml</CODE> in 95% of cases and needs <CODE>jboss.xml</CODE> only if you
need to specify specific deployment information. </p>
+ <p>The standard behavior of JBoss is capable of working from
<CODE>ejb-jar.xml</CODE> in 95% of cases and needs <CODE>jboss.xml</CODE> only if you
need to specify specific deployment information. </p>
<p>An additional feature of the new metadata is that it works
"differentially." This means that if you wish to override the name of a
bean you need to only specify that part of XML tags in the <CODE>jboss.xml</CODE>
file.</p>
<p></p>
<p><b>Using the ejb-name from <CODE>ejb-jar.xml</CODE></b></p>
@@ -97,7 +97,7 @@
<hr>
</p>
<p><br>
- So now we've got the deployment
descriptor <code>ejb-jar.xml</code>. Again jBoss will happily run just from that file
and bind the object under "Interest" as standard JNDI name. We also
have the optional <CODE>jboss.xml</CODE> to provide another name
"interest/Interest" to overwrite the standard behaviour with JNDI. We also
have the classes. It's time to package them together.</p>
+ So now we've got the deployment
descriptor <code>ejb-jar.xml</code>. Again JBoss will happily run just from that file
and bind the object under "Interest" as standard JNDI name. We also
have the optional <CODE>jboss.xml</CODE> to provide another name
"interest/Interest" to overwrite the standard behaviour with JNDI. We also
have the classes. It's time to package them together.</p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
1.2 +1 -1 newsite/documentation/jboss_win32_4.html
Index: jboss_win32_4.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_4.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_4.html 2000/11/12 20:33:56 1.1
+++ jboss_win32_4.html 2001/02/08 05:31:33 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 4: packaging and
deploying the Bean </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
1.2 +2 -2 newsite/documentation/jboss_win32_5.html
Index: jboss_win32_5.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_5.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_5.html 2000/11/12 20:33:56 1.1
+++ jboss_win32_5.html 2001/02/08 05:31:33 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 5: coding the test
client </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -119,7 +119,7 @@
</td>
</tr>
</table>
- There are several other ways to do this, which you may see described in other
articles. In this case, the server is on the same machine as the client (`localhost')
and the default naming port is `1099' for jBoss (other servers may use different port
numbers). If you run the client and the server on different machines, you will need to
change these settings.<br>
+ There are several other ways to do this, which you may see described in other
articles. In this case, the server is on the same machine as the client (`localhost')
and the default naming port is `1099' for JBoss (other servers may use different port
numbers). If you run the client and the server on different machines, you will need to
change these settings.<br>
The comments in the program should
describe how it works; one point that requires mention is that the recommended way to
get a reference to the home interface on the server is like this:
<table border="0" bgcolor="#80ff80" cellspacing="4">
<tr>
1.2 +3 -3 newsite/documentation/jboss_win32_6.html
Index: jboss_win32_6.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_6.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_6.html 2000/11/12 20:33:57 1.1
+++ jboss_win32_6.html 2001/02/08 05:31:33 1.2
@@ -7,7 +7,7 @@
</head>
<font face="arial,helvetica" size="6" color="#ffcc00">Step 6: compiling and
running the test client </font>
- <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
jBoss</font></p>
+ <p> <font face="arial,helvetica" size="5">Beginning EJB programming using
JBoss</font></p>
<p>
<table align="CENTER" border="1" cellspacing="0" cellpadding="4">
<tr>
@@ -30,7 +30,7 @@
If the client program is at the top of
the directory hierarchy, with the Bean classes below it, then we can run it like this:
<pre>cd \jboss\examples\interest
java -classpath %CLASSPATH%;..\..\lib\ext\ejb.jar;..\..\client\jboss-client.jar;.
InterestClient </pre>
- <p> Once again, this needs to go in a
<CODE>.bat file</CODE> or a Makefile; you won't want to type it more than once. Note
the long CLASSPATH; it needs to include the jBoss client classes and the EJB classes
as well as the standard classpath (if any).<br>
+ <p> Once again, this needs to go in a
<CODE>.bat file</CODE> or a Makefile; you won't want to type it more than once. Note
the long CLASSPATH; it needs to include the JBoss client classes and the EJB classes
as well as the standard classpath (if any).<br>
If all is well, the test client produces
the following output:
<table border="0" bgcolor="#ffff80" cellspacing="4">
<tr>
@@ -42,7 +42,7 @@
</td>
</tr>
</table>
- If it doesn't produce this output but you
see a "MalformedURLException" try installing jBoss in a directory that
doesn't contain space in its path (typically some installations on Windows don't like
C:\Program Files (the space).<br>
+ If it doesn't produce this output but you
see a "MalformedURLException" try installing JBoss in a directory that
doesn't contain space in its path (typically some installations on Windows don't like
C:\Program Files (the space).<br>
Another common problem you can see here
is a "class not found exception" make sure you include all the jars.<br>
<br>
The Bean should produce an output on the
server as well; this is to show that the Bean has executed on the server, not the
client. Look for something like this in the server log:
1.2 +8 -8 newsite/documentation/jboss_win32_7.html
Index: jboss_win32_7.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_7.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_7.html 2000/11/12 20:33:58 1.1
+++ jboss_win32_7.html 2001/02/08 05:31:33 1.2
@@ -7,7 +7,7 @@
</head>
<p><font face=arial,helvetica size=+3 color="#ffcc00"> Step 7: compiling the test
client as a servlet</font> </p>
-<p> <font face=arial,helvetica size=+2>Beginning EJB programming using
jBoss</font> </p>
+<p> <font face=arial,helvetica size=+2>Beginning EJB programming using
JBoss</font> </p>
<TABLE ALIGN="CENTER" BORDER=1 CELLSPACING=0 CELLPADDING=4>
<tr>
<td>
@@ -24,7 +24,7 @@
test client as a servlet.<br>
Before you go messing around with servlets,
you'll need
a servlet engine. I used <A HREF="http://www.apache.org/">Apache Jakarta Tomcat</A>
for this; it
-integrates well with jBoss. You could probably use any other servlet engine as
well.<br>
+integrates well with JBoss. You could probably use any other servlet engine as
well.<br>
Download the Tomcat source code and support
tools.
<A HREF="http://jakarta.apache.org/builds/tomcat/release/v3.1/src/">Here's the
latest version as of 07/24/00.</A>
@@ -48,8 +48,8 @@
</PRE>
(Leave that Command Prompt open -- we'll need it again later.)<br>
-<!-- Commented out. jBoss no longer uses port 8080. -- KJ
- Edit file
<CODE>\Jakarta\dist\tomcat\conf\server.xml</CODE>. Change the port from 8080 to
<B>9090</B> (so we don't interfere with jBoss' Web server on port 8080). (Note that
future builds of jBoss won't use 8080, so this will not be an issue for long.)
+<!-- Commented out. JBoss no longer uses port 8080. -- KJ
+ Edit file
<CODE>\Jakarta\dist\tomcat\conf\server.xml</CODE>. Change the port from 8080 to
<B>9090</B> (so we don't interfere with JBoss' Web server on port 8080). (Note that
future builds of JBoss won't use 8080, so this will not be an issue for long.)
<TABLE BORDER=0 BGCOLOR="#C0C0FF" CELLSPACING=4><TR><TD><PRE>
<Connector
className="org.apache.tomcat.service.SimpleTcpConnector">
@@ -115,7 +115,7 @@
/**
* This Servlet provides a user interface to an Enterprise Java Bean.
- * The example EJB described in the jBoss documentation at
+ * The example EJB described in the JBoss documentation at
* http://jboss.org/ calculates compound interest.
* This servlet will call the Interest EJB, passing it a few
* parameters. The EJB will return a result, which the servlet
@@ -239,11 +239,11 @@
EJB.class file in the <CODE>examples</CODE> context.
As usual, this should go in a batch file or a Makefile; you won't want to
type it more than once. Note the long CLASSPATH; it needs to include
-the servlet classes, the jBoss client classes and the EJB classes. <br>
+the servlet classes, the JBoss client classes and the EJB classes. <br>
Run Tomcat again. Explore to
<CODE>C:\Jakarta\dist\tomcat\bin\</CODE> and double-click on
<CODE>startup.bat</CODE>.<br>
- Now you should be able to use your Web browser
to open the servlet which connects to the EJB running under jBoss:
+ Now you should be able to use your Web browser
to open the servlet which connects to the EJB running under JBoss:
<UL>
<LI><A TARGET="_new"
HREF="http://localhost:8080/examples/servlet/EJB">http://localhost:8080/examples/servlet/EJB</A>
</UL>
@@ -264,7 +264,7 @@
</BODY></HTML>
</pre>
</TD></TR></TABLE>
- If it doesn't produce this output but you see
a "MalformedURLException" try installing jBoss in another directory that doesn't
contain space in its path. Some installations on Windows don't like <code>C:\Program
Files</code> (the space). Another common problem you can see here is a "class not
found exception." Make sure you include all the jars.
+ If it doesn't produce this output but you see
a "MalformedURLException" try installing JBoss in another directory that doesn't
contain space in its path. Some installations on Windows don't like <code>C:\Program
Files</code> (the space). Another common problem you can see here is a "class not
found exception." Make sure you include all the jars.
<br>
Again, the Bean should produce an output on
the server as well; this is to show that
the Bean has executed on the server, not the client. Look for something like this
1.2 +3 -3 newsite/documentation/jboss_win32_trail_index.html
Index: jboss_win32_trail_index.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jboss_win32_trail_index.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jboss_win32_trail_index.html 2000/11/12 20:33:58 1.1
+++ jboss_win32_trail_index.html 2001/02/08 05:31:33 1.2
@@ -1,17 +1,17 @@
<html>
<head>
<title>
-jBoss-Windows
+JBoss-Windows
</title>
</head>
-<font face=arial,helvetica size=+3 color="#ffcc00"> jBoss-Windows</font>
+<font face=arial,helvetica size=+3 color="#ffcc00"> JBoss-Windows</font>
<p>
<img src="../pictures/jboss.gif" width="206" height="225" align="RIGHT">
<table>
<tr>
<td> <a href=jboss_win32_1.html >
- Step 1: installing jBoss </a> </td>
+ Step 1: installing JBoss </a> </td>
</tr>
<tr>
<td> <a href=jboss_win32_2.html >
1.2 +2 -2 newsite/documentation/jbossxml_howto.html
Index: jbossxml_howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jbossxml_howto.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jbossxml_howto.html 2000/11/12 20:33:58 1.1
+++ jbossxml_howto.html 2001/02/08 05:31:34 1.2
@@ -8,8 +8,8 @@
<font face="arial,helvetica" size="6" color="#ffcc00">What is
<em>jboss.xml</em>? </font>
<p>To deploy your beans, you have to specify (nearly) everything about them in
a file called <em>ejb-jar.xml</em>. This file will be stored in the <em>META-INF</em>
directory in your ejb-jar file. The content and syntax of this file in specified in
the ejb1.1 specification (16.5 Deployment descriptor DTD, pp 244-259).<br>
- An important point is that the specification does not allow you to add
vendor-specific configuration in this file. While the <em>ejb-jar.xml</em> is
sufficient for most applications, there may be cases where you want to add
jBoss-specific information in your deployment descriptor. This can be done by
providing a <em>jboss.xml</em> in the <em>META-INF</em> directory.</p>
- <p>Note that this file is almost NEVER required by jBoss: jBoss will always
provide a standard behaviour when no <em>jboss.xml</em> file is found. jBoss does that
by first processing a <em>standardjboss.xml</em> file which contains the standard
configuration.</p>
+ An important point is that the specification does not allow you to add
vendor-specific configuration in this file. While the <em>ejb-jar.xml</em> is
sufficient for most applications, there may be cases where you want to add
JBoss-specific information in your deployment descriptor. This can be done by
providing a <em>jboss.xml</em> in the <em>META-INF</em> directory.</p>
+ <p>Note that this file is almost NEVER required by JBoss: JBoss will always
provide a standard behaviour when no <em>jboss.xml</em> file is found. JBoss does that
by first processing a <em>standardjboss.xml</em> file which contains the standard
configuration.</p>
<p>This is what you CAN do in your <em>jboss.xml</em> file:</p>
<ul>
<li>Specifying a particular jndi name for deployment. See the <a
href="jndi_howto.html">jndi howto</a>
1.2 +10 -10 newsite/documentation/jbuilder.htm
Index: jbuilder.htm
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jbuilder.htm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jbuilder.htm 2000/11/12 20:33:58 1.1
+++ jbuilder.htm 2001/02/08 05:31:34 1.2
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
- <TITLE>How to Run jBoss in JBuilder's Debugger</TITLE>
+ <TITLE>How to Run JBoss in JBuilder's Debugger</TITLE>
</HEAD>
<BODY>
-<H3>How to Run jBoss in JBuilder's Debugger</H3>
+<H3>How to Run JBoss in JBuilder's Debugger</H3>
-<P>This has been tested with jBoss 2.0 PR2-PR4, Win 98, and JBuilder
+<P>This has been tested with JBoss 2.0 PR2-PR4, Win 98, and JBuilder
Foundation 3.5</P>
<P>With each of these, replace <CODE><JBOSS-HOME></CODE> with the
-location of your jBoss directory, for example, C:\jboss.</P>
+location of your JBoss directory, for example, C:\jboss.</P>
<OL>
<LI>Launch JBuilder.</LI>
@@ -19,7 +19,7 @@
JDK 1.3 (from Sun) on your PC, then point JBuilder to it by
clicking "new" or "edit" in the Select a JDK dialog.</LI>
<LI>On the Paths tab, go to the Required Libraries tab, click "add"
- and then "new" to create a new one, and call it "jBoss
Server"
+ and then "new" to create a new one, and call it "JBoss
Server"
(or something similar). Add the following .jar file:
<BLOCKQUOTE><CODE><JBOSS-HOME>\bin\run.jar</CODE></BLOCKQUOTE>
@@ -32,7 +32,7 @@
<LI>Go to the Run tab of the Project Properties dialog. On the
Application tab, set the main class to org.jboss.Main. Note
that this is project-specific and will need to be done for each
- project running jBoss.</LI>
+ project running JBoss.</LI>
<LI>On the Run tab, under "VM Parameters", add the following
(again, for each project):
@@ -43,14 +43,14 @@
<LI>Create a copy of your JBuilder shortcut (in Win98, it should be
in C:\WINDOWS\Start Menu\Programs\JBuilder 3.5). Rename the
copy to something appropriate, such as "JBuilder with
- jBoss working directory".</LI>
+ JBoss working directory".</LI>
<LI>Edit the shortcut's properties by right-clicking and choosing
properties. Change the "Start in" folder to
<CODE><JBOSS-HOME>\bin\</CODE>.
Click OK.</LI>
- <LI>To run or debug jBoss within JBuilder, first use the modified
+ <LI>To run or debug JBoss within JBuilder, first use the modified
shortcut to launch JBuilder, then open your project as normal
and select Run|Run Project or Run|Debug Project.</LI>
@@ -60,11 +60,11 @@
org.jboss.Main as the main class using the instructions above.</LI>
</OL>
-<P><B>NOTE:</B> When running jBoss within JBuilder, it will launch an
+<P><B>NOTE:</B> When running JBoss within JBuilder, it will launch an
empty console window with "java" as the title. I'm not sure why
this is, but it appears to have some relation to Hypersonic SQL.
You will probably need to close this window manually after stopping
-jBoss.</P>
+JBoss.</P>
</BODY>
</HTML>
1.2 +2 -2 newsite/documentation/jndi_howto.html
Index: jndi_howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/jndi_howto.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jndi_howto.html 2000/11/12 20:33:59 1.1
+++ jndi_howto.html 2001/02/08 05:31:34 1.2
@@ -6,7 +6,7 @@
<title>Specifying a name for deployment</title>
</head>
- <font face="arial,helvetica" size="6" color="#ffcc00">How do I specify the
deployment name of my bean in jBoss? </font>
+ <font face="arial,helvetica" size="6" color="#ffcc00">How do I specify the
deployment name of my bean in JBoss? </font>
<p>You have coded your beans. You now want to deploy them and be able to
access them from your clients. </p>
<p></p>
<p><b>Standard behaviour of jboss</b></p>
@@ -55,7 +55,7 @@
</tr>
</table>
</p>
- <p>Here the <tt>"MyBeanName"</tt> refers to the name of your bean in
the jndi namespace. jBoss does not currently allow you to use the
<tt>java:comp/env</tt> namespace to call your beans from your clients.</p>
+ <p>Here the <tt>"MyBeanName"</tt> refers to the name of your bean in
the jndi namespace. JBoss does not currently allow you to use the
<tt>java:comp/env</tt> namespace to call your beans from your clients.</p>
<p></p>
<p><b>If you want to give a jndi deployment name different than the
ejb-name</b></p>
<p>You may want to deploy your bean under another jndi name. (for example, you
may want to deploy the same bean under different names with different configurations).
In this case, you must specify the jndi name in a <em>jboss.xml</em> file. This file
must be in the <em>META-INF</em> directory, along with <em>ejb-jar.xml</em>. Your
files will look like this (note that the <tt><ejb-name></tt> tags in the two xml
files must match):</p>
1.2 +7 -7 newsite/documentation/mssql.htm
Index: mssql.htm
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/mssql.htm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mssql.htm 2000/11/12 20:34:01 1.1
+++ mssql.htm 2001/02/08 05:31:34 1.2
@@ -12,13 +12,13 @@
<p>==============</p>
<p>1) Copy your JDBC-jar file from inet to jboss /lib/ext directory<br>
</p>
- <p>2) Start jBoss and check if the JDBC-jar file is loaded (it appears<br>
+ <p>2) Start JBoss and check if the JDBC-jar file is loaded (it appears<br>
at the very beginning a list of jar-files loaded)<br>
</p>
<p>3) Add the JDBC driver class name in jboss.properties in the
jboss.drivers<br>
list<br>
</p>
- <p>4) Start jBoss and check if the JDBC-driver is found (it appears at<br>
+ <p>4) Start JBoss and check if the JDBC-driver is found (it appears at<br>
right after the list of jar-files loaded)<br>
</p>
<p>5) Add a <M-LET> tag to the jboss.conf, add the JDBC-jar in<br>
@@ -34,7 +34,7 @@
<ARG TYPE="java.lang.String"
VALUE="{Password}"><br>
</MLET><br>
</p>
- <p>6) Start jBoss and check if a new DataSource is loaded (count them if
there<br>
+ <p>6) Start JBoss and check if a new DataSource is loaded (count them if
there<br>
is no output<br>
from the JDBC loading)<br>
</p>
@@ -50,16 +50,16 @@
MS SQL-Server but I will look this week for one or at least tell you how<br>
to create one. CAN someone tell me how?<br>
</p>
- <p>11) Start jBoss and check if the output if the tables are created
(output<br>
+ <p>11) Start JBoss and check if the output if the tables are created
(output<br>
starts with JAWS).</p>
<p></p>
<p>MS-SQL with JDBC-ODBC</p>
<p>====================</p>
<p>From: Steve Kwee <[EMAIL PROTECTED]><br>
- To: "'jBoss'" <[EMAIL PROTECTED]><br>
- Subject: AW: [jBoss-User] SQL Server<br>
+ To: "'JBoss'" <[EMAIL PROTECTED]><br>
+ Subject: AW: [JBoss-User] SQL Server<br>
Date: Tue, 27 Jun 2000 12:19:48 +0200<br>
- Reply-To: "jBoss" <[EMAIL PROTECTED]><br>
+ Reply-To: "JBoss" <[EMAIL PROTECTED]><br>
Sender: <[EMAIL PROTECTED]><br>
<br>
<br>
1.8 +1 -1 newsite/documentation/oraclecmp.htm
Index: oraclecmp.htm
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/oraclecmp.htm,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- oraclecmp.htm 2001/01/31 22:09:57 1.7
+++ oraclecmp.htm 2001/02/08 05:31:34 1.8
@@ -14,7 +14,7 @@
<hr>
This guide is a little bit outdated. At the moment we are reorganizing the
documentation and we will take care of this piece too. Meanwhile I made some slight
adjustments to this guide, which were probably NOT sufficient to make it 100% correct
again. Good luck. (TF 2001/01/08)
<hr>
- <p>This guide should help you to quickly get JBoss 2.0 up and running
using container-managed persistence and Oracle. With minor modifications you can use
the same example with any database. It should be used in conjunction with the
documents <i>Beginning EJB programming using jBoss</i> and <i>Using container-managed
persistence with jBoss</i> available at the <a href="http://www.jboss.org">JBoss</a>
web site (click on "Getting Started" under "How To").</p>
+ <p>This guide should help you to quickly get JBoss 2.0 up and running
using container-managed persistence and Oracle. With minor modifications you can use
the same example with any database. It should be used in conjunction with the
documents <i>Beginning EJB programming using JBoss</i> and <i>Using container-managed
persistence with JBoss</i> available at the <a href="http://www.jboss.org">JBoss</a>
web site (click on "Getting Started" under "How To").</p>
<p>In order to get JBoss up and running you have to do the
following basic procedures: </p>
<ol>
<li>Download and install the JBoss server
1.2 +181 -181 newsite/documentation/petstore-1.1.1-01.html
Index: petstore-1.1.1-01.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/petstore-1.1.1-01.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- petstore-1.1.1-01.html 2001/02/05 19:34:00 1.1
+++ petstore-1.1.1-01.html 2001/02/08 05:31:34 1.2
@@ -1,181 +1,181 @@
-<h1>HowTo: Deploying the Pet Store 1.1.1 Demo in jBoss</h1>
-
-<h2>Introduction</h2>
-The Pet Store sample application (demo) is a relatively robust, well-documented
-demonstration of J2EE technology and concepts. It implements MVC
-(Model-View-Controller) architecture.
-
-<p>The Pet Store demo can allow developers to gain familiarity with J2EE
-concepts including application portability, a key J2EE design objective.
-
-<p><h4>Important: Please note</h4>
-<p>This is preliminary documentation of a work in progress. There are
-technical issues that need to be addressed before the Pet Store demo can be
-considered completely operational in jBoss. The purpose of this documentation
-is to describe how the application can be deployed in jBoss, providing a
-framework to allow developers to address these issues.
-
-<p>The Pet Store demo has been tested with jBoss configured with integrated Tomcat.
-
-<p>This document describes how to deploy Pet Store 1.1.1 in JBoss.
-<br>
-<h2>Original contributor</h2>
-Mike Leuders, Richard Gyger - Focus Technologies
-<br>Aaron Mulder
-
-<h2>Doc writer</h2>
-Tom Coleman - [EMAIL PROTECTED]
-
-<h2>Applicable to</h2>
-JBoss 2.1 since 21st January 2001
-
-<h2>Installation & Configuration</h2>
-<ol>
-<li>
-<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#blueprints">Sun's J2EE
- Download Page</a>. It's in the "J2EE Blueprints" package. Download
- the 1.1.1 version. Unpack it anywhere. The root directory of the Pet
- Store demo is referred to below as $PETSTORE.
-
-<p>
-<li>
-<h3><a NAME="petstore2">Download the jBoss Pet Store patch file</a></h3>
-<p>Running the Pet Store demo in jBoss currently requires that jBoss be patched to
-support deployment of multiple Ejb's within an .ear file. It also requires
-several minor changes to deployment files in the Pet Store application (.ear) file.
-You can get the source from
-<a HREF="petstore-1.1.1-patch.zip">
-www.jboss.org/documentation/petstore-1.1.1-patch.zip</a>.
-<p>Copy the patch file to a temporary directory and unzip it. The patch
-contains two (2) zip files; one to patch jBoss, and another to patch the
-Pet Store demo.
-
-<p>
-<li>
-<h3><a NAME="petstore3">Rebuild jBoss</a></h3>
-
-<p>Currently, three (3) jBoss java files have to be replaced, and jBoss rebuilt.
-It is expected that these modifications will be added to the PRE-2.1 CVS
-tree within several days of this patch becoming generally available. This
-documentation and the patch file will be changed at that time.
-
-<p>Copy the <code>petstore-jboss.zip</code> file to the root directory ($JBOSS) of
-your jBoss distribution. Change to this directory and unzip the file.
-<pre>
- cd $JBOSS
- unzip petstore-jboss.zip
-
- cd src/build
- sh build.sh
-</pre>
-<p>The $JBOSS/<code>dist</code> directory is your new $JBOSS_HOME.
-
-<p>
-<li>
-<h3><a NAME="petstore4">Select a Database</a></h3>
-<p>The Pet Store demo uses the <b>Cloudscape</b> database by default.
-It also includes SQL scripts for building databases in
-<b>Oracle</b> and <b>Sybase</b>, (though you may need to comment out the
-<code>drop table</code> statements at the top for them to run the first time).
-The jBoss Pet Store patch file includes a Firebird/InterBase script.
-The Pet Store demo should work with just about any JDBC compliant database.
-<p>The Pet Store demo is being tested with
-<a HREF="http://firebird.sourceforge.net/fb_download.html">Firebird/InterBase
6.0.</a>
-In order to use Firebird/Interbase, you will also need to install Interclient
-2.0, which provides the JDBC inteface. Using the Reference J2EE server, the
-Pet Store demo did not work correctly with Interclient 1.6.
-<p>(Installing Firebird/InterBase and Interclient is beyond the scope of this
-document.)
-
-<p>
-<li>
-<h3><a NAME="petstore5">Rebuild the Pet Store application (petstore.ear)</a></h3><p>
-<p>These steps add the file <code>jboss-web.xml</code> to the WEB-INF directory in
-<code>petstore.war</code>, modify the <code>serverType</code> in the
-<code>web.xml</code> file of that directory to allow the application to
-recognize jBoss, and modify the <code>application.xml</code> file in the META-INF
directory of <code>petstore.ear</code>.
-This preliminary documentation describes how to do this manually:
-<p>
-
-a. Copy the <code>petstore-jboss-mods.zip</code> file to the root directory
($PETSTORE)
-of your Pet Store distribution. Change to this directory and unzip the file.
-<p>
-Note: This will overwrite the original <code>web.xml</code> file.
-<pre>
- cd $PETSTORE
- unzip petstore-jboss-mods.zip
-</pre>
-
-<p>
-b. Rebuild the Pet Store application. Run <code>build.sh</code> or
<code>build.bat</code> in the
-<code>$PETSTORE/src/petstore/src/build directory</code>. The result is a new
-<code>petstore.ear</code> in the <code>$PETSTORE/src/petstore/build</code>
directory.
-
-<p>
-c. Copy the new <code>petstore.ear</code> to a clean temporary directory and unjar
it:
-<p>
-<pre>
- cp $PETSTORE/src/petstore/build/petstore.ear $TEMP
- cd $TEMP
- jar xvf petstore.ear
-</pre>
-
-<p>
-d. Edit the application.xml file. The <b>estore</b> context needs a leading
-slash to work with Tomcat.
-<p>
-<pre>
- <web>
- <web-uri>petstore.war</web-uri>
- <context-root><b>/estore</b></context-root>
- <web>
-</pre>
-
-<p>
-e. Rejar the application. The result is the application file you will deploy
-in jBoss.
-<p>
-<pre>
- rm petstore.ear
- jar cvf petstore.ear *
-</pre>
-
-<p>
-<li>
-<h3><a NAME="petstore6">Add DB Pool to jBoss</a></h3>
- <p>The jBoss Petstore patch file includes the file
- <code>jboss.jcml.</code> The default configuration has
- a Firebird/InterBase DB Pool. If you will be using a
- different database, you should update or replace this with a
- single DB pool that points to your database, and then edit the file
- according to the procedures in the
- <a HREF="../manual/adv_config.html#datasources">Data Sources</a> section.</p>
-
-<p>
-<li>
-<h3><a NAME="petstore7">Prepare the Database</a></h3>
- <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>
-
-<p>
-<li>
-<h3><a NAME="petstore8">Add JARS to jBoss</a></h3>
-<p>Copy your DB driver JAR to the <code>lib/ext</code>directory of your
-jBoss installation ($JBOSS_HOME).
-<p>Copy <code>tools.jar</code> from the J2 SDK to the <code>lib/ext</code>
-directory of your jBoss installation ($JBOSS_HOME).
-
-<p>
-<li>
-<h3><a NAME="petstore9">Start jBoss</a></h3>
-<p>Start jBoss and copy the new <code>petstore.ear</code> to the
-<code>deploy</code> directory. You should see jBoss deploy the Pet Store
-EJBs.</p>
-
-<p>
-<li>
-<h3><a NAME="petstore10">Run the Pet Store</a></h3>
-<p>Point your browser to http://<your-server-name.your-domain>:8080/estore to
start the Pet Store.
+<h1>HowTo: Deploying the Pet Store 1.1.1 Demo in JBoss</h1>
+
+<h2>Introduction</h2>
+The Pet Store sample application (demo) is a relatively robust, well-documented
+demonstration of J2EE technology and concepts. It implements MVC
+(Model-View-Controller) architecture.
+
+<p>The Pet Store demo can allow developers to gain familiarity with J2EE
+concepts including application portability, a key J2EE design objective.
+
+<p><h4>Important: Please note</h4>
+<p>This is preliminary documentation of a work in progress. There are
+technical issues that need to be addressed before the Pet Store demo can be
+considered completely operational in JBoss. The purpose of this documentation
+is to describe how the application can be deployed in JBoss, providing a
+framework to allow developers to address these issues.
+
+<p>The Pet Store demo has been tested with JBoss configured with integrated Tomcat.
+
+<p>This document describes how to deploy Pet Store 1.1.1 in JBoss.
+<br>
+<h2>Original contributor</h2>
+Mike Leuders, Richard Gyger - Focus Technologies
+<br>Aaron Mulder
+
+<h2>Doc writer</h2>
+Tom Coleman - [EMAIL PROTECTED]
+
+<h2>Applicable to</h2>
+JBoss 2.1 since 21st January 2001
+
+<h2>Installation & Configuration</h2>
+<ol>
+<li>
+<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#blueprints">Sun's J2EE
+ Download Page</a>. It's in the "J2EE Blueprints" package. Download
+ the 1.1.1 version. Unpack it anywhere. The root directory of the Pet
+ Store demo is referred to below as $PETSTORE.
+
+<p>
+<li>
+<h3><a NAME="petstore2">Download the JBoss Pet Store patch file</a></h3>
+<p>Running the Pet Store demo in JBoss currently requires that JBoss be patched to
+support deployment of multiple Ejb's within an .ear file. It also requires
+several minor changes to deployment files in the Pet Store application (.ear) file.
+You can get the source from
+<a HREF="petstore-1.1.1-patch.zip">
+www.jboss.org/documentation/petstore-1.1.1-patch.zip</a>.
+<p>Copy the patch file to a temporary directory and unzip it. The patch
+contains two (2) zip files; one to patch JBoss, and another to patch the
+Pet Store demo.
+
+<p>
+<li>
+<h3><a NAME="petstore3">Rebuild JBoss</a></h3>
+
+<p>Currently, three (3) JBoss java files have to be replaced, and JBoss rebuilt.
+It is expected that these modifications will be added to the PRE-2.1 CVS
+tree within several days of this patch becoming generally available. This
+documentation and the patch file will be changed at that time.
+
+<p>Copy the <code>petstore-jboss.zip</code> file to the root directory ($JBOSS) of
+your JBoss distribution. Change to this directory and unzip the file.
+<pre>
+ cd $JBOSS
+ unzip petstore-jboss.zip
+
+ cd src/build
+ sh build.sh
+</pre>
+<p>The $JBOSS/<code>dist</code> directory is your new $JBOSS_HOME.
+
+<p>
+<li>
+<h3><a NAME="petstore4">Select a Database</a></h3>
+<p>The Pet Store demo uses the <b>Cloudscape</b> database by default.
+It also includes SQL scripts for building databases in
+<b>Oracle</b> and <b>Sybase</b>, (though you may need to comment out the
+<code>drop table</code> statements at the top for them to run the first time).
+The JBoss Pet Store patch file includes a Firebird/InterBase script.
+The Pet Store demo should work with just about any JDBC compliant database.
+<p>The Pet Store demo is being tested with
+<a HREF="http://firebird.sourceforge.net/fb_download.html">Firebird/InterBase
6.0.</a>
+In order to use Firebird/Interbase, you will also need to install Interclient
+2.0, which provides the JDBC inteface. Using the Reference J2EE server, the
+Pet Store demo did not work correctly with Interclient 1.6.
+<p>(Installing Firebird/InterBase and Interclient is beyond the scope of this
+document.)
+
+<p>
+<li>
+<h3><a NAME="petstore5">Rebuild the Pet Store application (petstore.ear)</a></h3><p>
+<p>These steps add the file <code>jboss-web.xml</code> to the WEB-INF directory in
+<code>petstore.war</code>, modify the <code>serverType</code> in the
+<code>web.xml</code> file of that directory to allow the application to
+recognize JBoss, and modify the <code>application.xml</code> file in the META-INF
directory of <code>petstore.ear</code>.
+This preliminary documentation describes how to do this manually:
+<p>
+
+a. Copy the <code>petstore-jboss-mods.zip</code> file to the root directory
($PETSTORE)
+of your Pet Store distribution. Change to this directory and unzip the file.
+<p>
+Note: This will overwrite the original <code>web.xml</code> file.
+<pre>
+ cd $PETSTORE
+ unzip petstore-jboss-mods.zip
+</pre>
+
+<p>
+b. Rebuild the Pet Store application. Run <code>build.sh</code> or
<code>build.bat</code> in the
+<code>$PETSTORE/src/petstore/src/build directory</code>. The result is a new
+<code>petstore.ear</code> in the <code>$PETSTORE/src/petstore/build</code>
directory.
+
+<p>
+c. Copy the new <code>petstore.ear</code> to a clean temporary directory and unjar
it:
+<p>
+<pre>
+ cp $PETSTORE/src/petstore/build/petstore.ear $TEMP
+ cd $TEMP
+ jar xvf petstore.ear
+</pre>
+
+<p>
+d. Edit the application.xml file. The <b>estore</b> context needs a leading
+slash to work with Tomcat.
+<p>
+<pre>
+ <web>
+ <web-uri>petstore.war</web-uri>
+ <context-root><b>/estore</b></context-root>
+ <web>
+</pre>
+
+<p>
+e. Rejar the application. The result is the application file you will deploy
+in JBoss.
+<p>
+<pre>
+ rm petstore.ear
+ jar cvf petstore.ear *
+</pre>
+
+<p>
+<li>
+<h3><a NAME="petstore6">Add DB Pool to JBoss</a></h3>
+ <p>The JBoss Petstore patch file includes the file
+ <code>jboss.jcml.</code> The default configuration has
+ a Firebird/InterBase DB Pool. If you will be using a
+ different database, you should update or replace this with a
+ single DB pool that points to your database, and then edit the file
+ according to the procedures in the
+ <a HREF="../manual/adv_config.html#datasources">Data Sources</a> section.</p>
+
+<p>
+<li>
+<h3><a NAME="petstore7">Prepare the Database</a></h3>
+ <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>
+
+<p>
+<li>
+<h3><a NAME="petstore8">Add JARS to JBoss</a></h3>
+<p>Copy your DB driver JAR to the <code>lib/ext</code>directory of your
+JBoss installation ($JBOSS_HOME).
+<p>Copy <code>tools.jar</code> from the J2 SDK to the <code>lib/ext</code>
+directory of your JBoss installation ($JBOSS_HOME).
+
+<p>
+<li>
+<h3><a NAME="petstore9">Start JBoss</a></h3>
+<p>Start JBoss and copy the new <code>petstore.ear</code> to the
+<code>deploy</code> directory. You should see JBoss deploy the Pet Store
+EJBs.</p>
+
+<p>
+<li>
+<h3><a NAME="petstore10">Run the Pet Store</a></h3>
+<p>Point your browser to http://<your-server-name.your-domain>:8080/estore to
start the Pet Store.
1.2 +12 -12 newsite/documentation/rmh_howto.html
Index: rmh_howto.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/rmh_howto.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- rmh_howto.html 2000/11/12 20:34:04 1.1
+++ rmh_howto.html 2001/02/08 05:31:34 1.2
@@ -9,14 +9,14 @@
Running the Examples from Enterprise JavaBeans, by Richard Monson-Haefel (Unix)
</font>
-<p>This page describes how to run the examples from Richard Monson-Haefel's book <a
href="http://www.oreilly.com/catalog/entjbeans2/">Enterprise JavaBeans, 2nd
Edition</a> (Chapter 4) in jBoss.</p>
+<p>This page describes how to run the examples from Richard Monson-Haefel's book <a
href="http://www.oreilly.com/catalog/entjbeans2/">Enterprise JavaBeans, 2nd
Edition</a> (Chapter 4) in JBoss.</p>
<p>You can download the <a
href="http://www.oreilly.com/catalog/entjbeans2/chapter/examples.zip">examples</a>
(zip file) from O'Reilly's site. I will assume you have unzipped this file and you
work in the <tt>chapter4/EJB11</tt> directory.</p>
-<p>These examples need to be slightly modified to run with jBoss. You can download
the modified version from <a href="rmh_jboss.zip">here</a>, but I recommend you to
follow these instructions which tell exactly what has to be modified.</p>
+<p>These examples need to be slightly modified to run with JBoss. You can download
the modified version from <a href="rmh_jboss.zip">here</a>, but I recommend you to
follow these instructions which tell exactly what has to be modified.</p>
<ul>
-<li><b>Setup your environment</b>.<br> jBoss libraries will be needed to compile
and run the examples, so you have to set the environment variable <tt>JBOSS_HOME</tt>
to your jBoss installation. For example:
+<li><b>Setup your environment</b>.<br> JBoss libraries will be needed to compile
and run the examples, so you have to set the environment variable <tt>JBOSS_HOME</tt>
to your JBoss installation. For example:
<ul>
<li><tt>export JBOSS_HOME=$HOME/jboss_pr4 </tt> if you have the binary version in
your home directory
@@ -24,7 +24,7 @@
</ul><br>
-<li><b>Compile and deploy the beans</b>.<br> The beans are almost ok for jBoss, the
only difference is about the reference made by <em>TravelAgentBean</em> to
<em>CabinBean</em>: a bean must lookup in the <tt>java:comp/env</tt> namespace. Edit
<em>com/titan/travelagent/TravelAgentBean.java</em>, and replace
+<li><b>Compile and deploy the beans</b>.<br> The beans are almost ok for JBoss, the
only difference is about the reference made by <em>TravelAgentBean</em> to
<em>CabinBean</em>: a bean must lookup in the <tt>java:comp/env</tt> namespace. Edit
<em>com/titan/travelagent/TravelAgentBean.java</em>, and replace
<pre>Object obj = jndiContext.lookup("ejb/CabinHome");</pre>
with
<pre>Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");</pre>
@@ -68,7 +68,7 @@
com/titan/travelagent/jboss.xml \
META-INF/
-# jBoss needs the Home, Remote and primary key (PK) classes
+# 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
@@ -86,7 +86,7 @@
cp cabin.jar travelagent.jar $JBOSS_HOME/deploy
</pre></td></tr></table></p>
-<li><b>Compile the clients.</b> <br>The clients from the examples perform a
<tt>lookup</tt> on the <tt>java:comp/env</tt> namespace, which is not currently
supported by jBoss for the clients. You have to make the following edits:
(<tt>CabinBean</tt> is the jndi name under which the Cabin Bean is deployed, see the
<a href="jndi_howto.html">jndi howto</a>)
+<li><b>Compile the clients.</b> <br>The clients from the examples perform a
<tt>lookup</tt> on the <tt>java:comp/env</tt> namespace, which is not currently
supported by JBoss for the clients. You have to make the following edits:
(<tt>CabinBean</tt> is the jndi name under which the Cabin Bean is deployed, see the
<a href="jndi_howto.html">jndi howto</a>)
<p>In <em>com/titan/cabin/Client_1.java</em> replace
<pre>Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");</pre>
@@ -106,7 +106,7 @@
<pre>Object obj = jndiContext.lookup("CabinBean");</pre>
</p>
-<p>You can now use jBossMakeClients.sh to compile:</p>
+<p>You can now use JBossMakeClients.sh to compile:</p>
<p><table border=0 bgcolor="#80ff80" cellspacing=4><tr><td><pre>
#!/bin/sh
@@ -115,7 +115,7 @@
com/titan/travelagent/Client*.java
</pre></td></tr></table></p>
-<li><b>Run the clients</b><br>We don't use Sun's RI runclient tool, so RunIt.sh
won't work. Instead, we provide the following script: <em>jBossRunClient.sh</em>. This
file includes all the jBoss libraries needed in the classpath.
+<li><b>Run the clients</b><br>We don't use Sun's RI runclient tool, so RunIt.sh
won't work. Instead, we provide the following script: <em>JBossRunClient.sh</em>. This
file includes all the JBoss libraries needed in the classpath.
<p><table border=0 bgcolor="#80ff80" cellspacing=4><tr><td><pre>
#!/bin/sh
@@ -130,7 +130,7 @@
java -cp $CP $1
</pre></td></tr></table></p>
-<p>You also have to set the jndi properties to connect to the server. This is done
in the <em>jndi.properties</em> file (this file must be in the same directory as
<em>jBossRunClient.sh</em>)</p>
+<p>You also have to set the jndi properties to connect to the server. This is done
in the <em>jndi.properties</em> file (this file must be in the same directory as
<em>JBossRunClient.sh</em>)</p>
<p><table border=0 bgcolor="#80ff80" cellspacing=4><tr><td><pre>
@@ -140,9 +140,9 @@
</pre></td></tr></table></p>
<p>You can now run the clients. The script take the name of the client as an
argument, try </p>
-<p><tt>./jBossRunClient.sh com.titan.cabin.Client_1<br>
-./jBossRunClient.sh com.titan.cabin.Client_2<br>
-./jBossRunClient.sh com.titan.travelagent.Client_1</tt></p>
+<p><tt>./JBossRunClient.sh com.titan.cabin.Client_1<br>
+./JBossRunClient.sh com.titan.cabin.Client_2<br>
+./JBossRunClient.sh com.titan.travelagent.Client_1</tt></p>
<p><b>NOTES</b>:<ul>
1.2 +11 -11 newsite/documentation/server.html
Index: server.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/server.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- server.html 2000/11/12 20:34:05 1.1
+++ server.html 2001/02/08 05:31:34 1.2
@@ -1,32 +1,32 @@
<HTML>
<HEAD>
<TITLE>
-jBoss 2.0 Server Documentation
+JBoss 2.0 Server Documentation
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="styles.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
-<H1>jBoss 2.0 Server</H1>
+<H1>JBoss 2.0 Server</H1>
<H2 >Description</H2>
-<P>This document contains general information about the usage and administration of
the jBoss server.
+<P>This document contains general information about the usage and administration of
the JBoss server.
</P>
<H2 >Documentation</H2>
<H3 >Directory structure</H3>
-<P>The jBoss distribution has the following directory structure.
+<P>The JBoss distribution has the following directory structure.
</P>
<UL>
<LI><B>bin</B> - Contains the run.jar bootstrap executable JAR, and various
OS-specific scripts that can be used to invoke it.</LI>
- <LI><B>conf</B> - Contains the configuration files of jBoss and other components
+ <LI><B>conf</B> - Contains the configuration files of JBoss and other components
such as databases.</LI>
<LI><B>db</B> - A directory which may be used to store database files. Components
wishing to use this directory should locate the "db.properties" resource,
which is available on the classpath. If another directory is to be used then
move this file to that directory, and add it to classpath</LI>
<LI><B>deploy</B> - Directory in which EJB-JAR files can be placed for
deployment.</LI>
- <LI><B>docs</B> - Contains the documentation for the jBoss server.</LI>
- <LI><B>docs/api</B> - Contains the Javadoc documentation for the jBoss
server.</LI>
+ <LI><B>docs</B> - Contains the documentation for the JBoss server.</LI>
+ <LI><B>docs/api</B> - Contains the Javadoc documentation for the JBoss
server.</LI>
<LI><B>lib</B> - Contains the JMX files used by the bootstrap JAR.</LI>
<LI><B>lib/ext</B> - Contains any additional JAR-files that should be used by
the server. JAR's placed here are automatically added to the classpath of
@@ -44,18 +44,18 @@
</UL>
<p></P>
<H3 >JMX</H3>
-<P>jBoss 2.0 uses JMX (<a
href="http://java.sun.com/products/JavaManagement/index.html">Java Management
eXtension</a>) for management of the server. All JMX documentation applies to the
jBoss server. The server is created by using a JMX MLet, which loads the configuration
from the /conf/jboss.conf file. For more information about the structure of this file,
please see the JMX documentation.
+<P>JBoss 2.0 uses JMX (<a
href="http://java.sun.com/products/JavaManagement/index.html">Java Management
eXtension</a>) for management of the server. All JMX documentation applies to the
JBoss server. The server is created by using a JMX MLet, which loads the configuration
from the /conf/jboss.conf file. For more information about the structure of this file,
please see the JMX documentation.
</P>
<H4 >Logging using JMX-notifications</H4>
<P>
-jBoss uses the JMX Notification mechanism to perform logging. The
org.jboss.logging.Logger component is used to publish these notifications. Log
consumers that wishes to output log messages should subscribe to the logging component
as is defined in the JMX specification. See the org.jboss.logging.FileLogging class
for an example of this. Components wishing to log messages should use the
org.jboss.logging.Log component to do this. Any messages sent to System.out or
System.err will be redirected to this logging facility of the ConsoleLogging component
is installed. See the various provided jBoss components for examples of how to use
logging.
+JBoss uses the JMX Notification mechanism to perform logging. The
org.jboss.logging.Logger component is used to publish these notifications. Log
consumers that wishes to output log messages should subscribe to the logging component
as is defined in the JMX specification. See the org.jboss.logging.FileLogging class
for an example of this. Components wishing to log messages should use the
org.jboss.logging.Log component to do this. Any messages sent to System.out or
System.err will be redirected to this logging facility of the ConsoleLogging component
is installed. See the various provided JBoss components for examples of how to use
logging.
<H3 >Classpaths</H3>
<P>
-Classpaths in jBoss are managed as defined by the JMX specification, i.e. by
specifying which JAR-files that each component wishes to use in the MLet configuration
file. However, it is possible to extend the classpath automatically by using the
org.jboss.util.ClassPathExtension component. This adds either a single JAR, or all
JAR's in a directory to the MLet classloader, allowing the components loaded by it to
access these JAR's. The default jBoss configuration adds a ClassPathExtension
component which adds all JAR's located in the /lib/ext directory. Placing a JAR there
will hence add it to the server classpath.
+Classpaths in JBoss are managed as defined by the JMX specification, i.e. by
specifying which JAR-files that each component wishes to use in the MLet configuration
file. However, it is possible to extend the classpath automatically by using the
org.jboss.util.ClassPathExtension component. This adds either a single JAR, or all
JAR's in a directory to the MLet classloader, allowing the components loaded by it to
access these JAR's. The default JBoss configuration adds a ClassPathExtension
component which adds all JAR's located in the /lib/ext directory. Placing a JAR there
will hence add it to the server classpath.
</P>
<H3 >Configuration files</H3>
-<P>jBoss server configuration is loaded from the /conf directory. The jboss.conf
file is used by the run.jar bootstrap to instantiate and configure JMX MBeans as
defined by the MLet component in JMX. The jboss.properties file contains system
properties which will be loaded by the run.jar bootstrap on startup. Add any
additional system settings that you require to this file. It also contains the
security policy of jBoss in the server.policy file, and the JNDI settings in the
jndi.properties file. The /conf directory is added to the classpath so all files are
available through the getResource mechanism in the Class and ClassLoader classes.
+<P>JBoss server configuration is loaded from the /conf directory. The jboss.conf
file is used by the run.jar bootstrap to instantiate and configure JMX MBeans as
defined by the MLet component in JMX. The jboss.properties file contains system
properties which will be loaded by the run.jar bootstrap on startup. Add any
additional system settings that you require to this file. It also contains the
security policy of JBoss in the server.policy file, and the JNDI settings in the
jndi.properties file. The /conf directory is added to the classpath so all files are
available through the getResource mechanism in the Class and ClassLoader classes.
</P>
</BODY>
</HTML>
1.2 +2 -2 newsite/documentation/technical_index.html
Index: technical_index.html
===================================================================
RCS file: /products/cvs/ejboss/newsite/documentation/technical_index.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- technical_index.html 2000/11/12 20:34:07 1.1
+++ technical_index.html 2001/02/08 05:31:34 1.2
@@ -13,13 +13,13 @@
<tr valign="middle" align="center">
<td>
<div align="left"><a href="jboss_linux_trail_index.html">Beginning EJB
programming
- using jBoss </a> </div>
+ using JBoss </a> </div>
</td>
</tr>
<tr valign="middle" align="center">
<td>
<div align="left"><a href="jboss_cmp_trail_index.html">Using
container-managed
- persistence with jBoss</a> </div>
+ persistence with JBoss</a> </div>
</td>
</tr>
<tr> </tr>