blob: 0ca358f32c4519a23713be73855cdf1c40ae58c2 [file] [log] [blame]
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>OpenEJB Remote Server --
Command-line Guide</title><link href="default.css" rel="stylesheet"><link href="/images/favicon.ico" rel="SHORTCUT ICON"></head><body marginwidth="0" marginheight="0" leftmargin="0" bottommargin="0" topmargin="0" vlink="#6763a9" link="#6763a9" bgcolor="#ffffff"><a name="top"></a><table height="400" width="712" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2" align="left" valign="top" width="20"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td bgcolor="#7270c2" align="left" valign="top" width="95"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="7"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="6" width="40" src="images/dotTrans.gif"></td><td bgcolor="#5A5CB8" align="left" valign="top" width="430"><img border="0" height="6" width="430" src="images/top_2.gif"></td><td bgcolor="#E24717" align="left" valign="top" width="120"><img src="images/top_3.gif" width="120" height="6" border="0"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#ffffff" width="7"></td><td align="left" valign="top" width="40"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="middle" width="430"><a href="faq.html"><span class="menuTopOff">[ f a q ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://wiki.codehaus.org/openejb"><span class="menuTopOff">[ w i k i ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://archive.openejb.codehaus.org/user/"><span class="menuTopOff">[ l i s t s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://cvs.openejb.org/"><span class="menuTopOff">[ c v s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://jira.codehaus.org/secure/BrowseProject.jspa?id=10401"><span class="menuTopOff">[ b u g s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img border="0" height="2" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" height="20" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img border="0" height="3" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="3" width="7" src="images/line_sm.gif"></td><td align="left" valign="top" width="40"><img border="0" height="3" width="40" src="images/line_light.gif"></td><td align="left" valign="top" width="430"><img border="0" height="3" width="430" src="images/line_light.gif"></td><td align="left" valign="top" width="120"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2"><img border="0" height="10" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="2" width="1" src="images/dotTrans.gif"><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Main</span></td></tr><tr><td align="left" valign="top"><a href="index.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Welcome!</span></a></td></tr><tr><td align="left" valign="top"><a href="download.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Download</span></a></td></tr><tr><td align="left" valign="top"><a href="lists.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Mailing Lists</span></a></td></tr><tr><td align="left" valign="top"><a href="cvs.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Source Code</span></a></td></tr><tr><td align="left" valign="top"><a href="contributors.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
The Team</span></a></td></tr><tr><td align="left" valign="top"><a href="status.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Status</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Users</span></td></tr><tr><td align="left" valign="top"><a href="quickstart.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Quickstart</span></a></td></tr><tr><td align="left" valign="top"><a href="hello-world.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Hello World!</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_entity_postgresql.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
CMP Example</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_guide.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
CMP Guide</span></a></td></tr><tr><td align="left" valign="top"><a href="deploy.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Deploy</span></a></td></tr><tr><td align="left" valign="top"><a href="start-command.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Startup</span></a></td></tr><tr><td align="left" valign="top"><a href="validate.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Validation</span></a></td></tr><tr><td align="left" valign="top"><a href="config_containers.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Configuration</span></a></td></tr><tr><td align="left" valign="top"><a href="properties.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Properties</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Servers</span></td></tr><tr><td align="left" valign="top"><a href="embedded.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Local Server</span></a></td></tr><tr><td align="left" valign="top"><a href="remote-server.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Remote Server</span></a></td></tr><tr><td align="left" valign="top"><a href="tomcat.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Tomcat</span></a></td></tr><tr><td align="left" valign="top"><a href="geronimo.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Geronimo</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Integrators</span></td></tr><tr><td align="left" valign="top"><a href="whyopenejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Why OpenEJB</span></a></td></tr><tr><td align="left" valign="top"><a href="containersystem.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Overview</span></a></td></tr><tr><td align="left" valign="top"><a href="design_openejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Design</span></a></td></tr><tr><td align="left" valign="top"><a href="OpenEJB_presentaion.ppt"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
Presentation</span></a></td></tr></table><img border="0" height="15" width="1" src="images/dotTrans.gif"><br><img border="0" height="3" width="105" src="images/line_sm.gif"><br><A href="http://codehaus.org"><IMG alt="The Codehaus" border="0" height="17" width="88" src="http://www.openejb.org/codehaus-smaller.png"></A></td><td align="left" valign="top" bgcolor="#a9a5de" width="7">&nbsp;</td><td align="left" valign="top" width="40">&nbsp;</td><td valign="top" width="430" rowspan="4"><table width="430" cellspacing="0" cellpadding="0" border="0" rows="2" cols="1"><tr><td align="left" valign="top"><br><img width="200" vspace="0" src="./images/logo_ejb2.gif" hspace="0" height="55" border="0"><br><img src="images/dotTrans.gif" hspace="0" height="7" border="0"><br><span class="pageTitle">OpenEJB Remote Server</span><br><span class="pageSubTitle">Command-line Guide</span><br><img src="images/dotTrans.gif" hspace="0" height="1" border="0"></td></tr></table><p></p><br><a name="name"><h2>NAME</h2></a>
<p><span class="bodyBlack">
openejb start - OpenEJB Remote Server
</span></p>
<a name="synopsis"><h2>SYNOPSIS</h2></a>
<p><span class="bodyBlack">
openejb start [options]
</span></p>
<a name="note"><h2>NOTE</h2></a>
<p><span class="bodyBlack">
The OpenEJB Remote Server must be executed from the OPENEJB_HOME directory. This is the
directory where OpenEJB was installed or unpacked. For the remainder of this document
we will assume you unpacked OpenEJB into the directory C:\openejb.
</span></p>
<p><span class="bodyBlack">
In Windows, the remote server can be executed as follows:
</span></p>
<p><span class="bodyBlack">
<span class="command">C:\openejb&gt; openejb start -help</span>
</span></p>
<p><span class="bodyBlack">
In UNIX, Linux, or Mac OS X, the deploy tool can be executed as follows:
</span></p>
<p><span class="bodyBlack">
<span class="command">[user@host openejb]# ./openejb.sh start -help</span>
</span></p>
<p><span class="bodyBlack">
Depending on your OpenEJB version, you may need to change execution bits to
make the scripts executable. You can do this with the following command.
</span></p>
<p><span class="bodyBlack">
<span class="command">[user@host openejb]# chmod 755 openejb.sh bin/*.sh</span>
</span></p>
<p><span class="bodyBlack">
From here on out, it will be assumed that you know how to execute the right openejb script
for your operating system and commands will appear in shorthand as show below.
</span></p>
<p><span class="bodyBlack">
<span class="command">openejb start -help</span>
</span></p>
<a name="description"><h2>DESCRIPTION</h2></a>
<p><span class="bodyBlack">
Starts OpenEJB as an EJB Server that can be accessed by remote
clients via the OpenEJB Remote Server.
</span></p>
<p><span class="bodyBlack">
ALWAYS check your openejb.log file for warnings immediately after
starting the Remote Server.
</span></p>
<p><span class="bodyBlack">
OpenEJB issues warnings when it works around a potential problem,
encounters something it didn't expect, or when OpenEJB wants to
let you know something may not work as you expected it.
</span></p>
<p><span class="bodyBlack">
The OpenEJB Remote Server is the default implementation of OpenEJB's
<a href="design_appserver.html">ApplicationServer</a> interface. It allows
remote clients to access beans in OpenEJB over a network.
</span></p>
<p><span class="bodyBlack">
The JNDI names clients use to lookup beans from the Remote Server depends on
the <a href="deploymentids.html">Deployment ID</a> you gave the beans when you
deployed them with the <a href="deploy.html">Deploy Tool</a>.
</span></p>
<p><span class="bodyBlack">
OpenEJB itself is configured with the OpenEJB configuration file, which
is extremely simple and self-documenting. This file is located at
c:\openejb\conf\openejb.conf.
</span></p>
<a name="options"><h2>OPTIONS</h2></a>
<p><span class="bodyBlack">
<table width="440" cellspacing="0" cellpadding="6" border="0">
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-h</span></td><td valign="top"><span class="option-param">host</span></td><td valign="top"><span class="option">Binds the Remote Server to the specified host address.
Default host address is 127.0.0.1.
</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-p</span></td><td valign="top"><span class="option-param">port</span></td><td valign="top"><span class="option">
Binds the Remote Server to the specified port.
Default port is 4201.
</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-t</span></td><td valign="top"><span class="option-param">int</span></td><td valign="top"><span class="option">
Sets the number of concurrent threads the Remote
server should use to service requests from clients.
Default number of threads is 20.
</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-d</span></td><td valign="top"><span class="option-param">dir</span></td><td valign="top"><span class="option">Sets the OPENEJB_HOME to the specified directory.</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-l</span></td><td valign="top"><span class="option-param">file</span></td><td valign="top"><span class="option">Sets the log4j configuration to the specified file.</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-conf</span></td><td valign="top"><span class="option-param">file</span></td><td valign="top"><span class="option">Sets the OpenEJB configuration to the specified file.</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-version</span></td><td valign="top">&nbsp;</td><td valign="top"><span class="option">Print the version.</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-help</span></td><td valign="top">&nbsp;</td><td valign="top"><span class="option">Print this help message.</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">-examples</span></td><td valign="top">&nbsp;</td><td valign="top"><span class="option">Show examples of how to use the options.</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">--admin-ip</span></td><td valign="top">&nbsp;</td><td valign="top"><span class="option">
A comma delimited list of hosts and IP addresses that
are allowed to administer this server.
</span></td></tr>
<tr><td width="10">&nbsp;</td><td valign="top"><span class="option-flag">--local-copy</span></td><td valign="top"><span class="option-param">[true|false]</span></td><td valign="top"><span class="option">
Instructs the container system whether or not marshal (copy)
the parameters and return values on calls between beans.
</span></td></tr>
</table>
</span></p>
<a name="examples"><h2>EXAMPLES</h2></a>
<a name="simplest.scenario"><h3>Simplest scenario</h3></a>
<p><span class="bodyBlack">
<span class="command">openejb start</span>
</span></p>
<p><span class="bodyBlack">
That's it. The server will start up and bind to IP 127.0.0.1 and port 4201.
</span></p>
<p><span class="bodyBlack">
The following properties would then be used to get an InitialContext
from the Remote Server.
</span></p>
<p><span class="bodyBlack">
<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
java.naming.factory.initial = org.openejb.client.RemoteInitialContextFactory
java.naming.provider.url = 127.0.0.1:4201
java.naming.security.principal = myuser
java.naming.security.credentials = mypass
</pre></span></td></tr></table>
</span></p>
<a name="using.-h"><h3>Using -h</h3></a>
<p><span class="bodyBlack">
<span class="command">openejb start -h 10.45.67.8</span>
</span></p>
<p><span class="bodyBlack">
This is the most common way to use the OpenEJB Remote Server. The server will start
up and bind to IP 10.45.67.8 and port 4201.
</span></p>
<p><span class="bodyBlack">
The following properties would then be used to get an InitialContext
from the Remote Server.
</span></p>
<p><span class="bodyBlack">
<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
java.naming.factory.initial = org.openejb.client.RemoteInitialContextFactory
java.naming.provider.url = 10.45.67.8:4201
java.naming.security.principal = myuser
java.naming.security.credentials = mypass
</pre></span></td></tr></table>
</span></p>
<p><span class="bodyBlack">
DNS names can also be used.
</span></p>
<p><span class="bodyBlack">
<span class="command">openejb start -h myhost.foo.com</span>
</span></p>
<p><span class="bodyBlack">
The following properties would then be used to get an InitialContext
from the Remote Server.
</span></p>
<p><span class="bodyBlack">
<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
java.naming.factory.initial = org.openejb.client.RemoteInitialContextFactory
java.naming.provider.url = myhost.foo.com:4201
java.naming.security.principal = myuser
java.naming.security.credentials = mypass
</pre></span></td></tr></table>
</span></p>
<a name="using.-p"><h3>Using -p</h3></a>
<p><span class="bodyBlack">
<span class="command">openejb start -p 8765</span>
</span></p>
<p><span class="bodyBlack">
The server will start up and bind to IP 127.0.0.1 and port 8765.
</span></p>
<p><span class="bodyBlack">
The following properties would then be used to get an InitialContext
from the Remote Server.
</span></p>
<p><span class="bodyBlack">
<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
java.naming.factory.initial = org.openejb.client.RemoteInitialContextFactory
java.naming.provider.url = 127.0.0.1:8765
java.naming.security.principal = myuser
java.naming.security.credentials = mypass
</pre></span></td></tr></table>
</span></p>
<a name="using.-conf"><h3>Using -conf file</h3></a>
<p><span class="bodyBlack">
<span class="command">openejb start -conf C:\openejb\conf\mytest.conf</span>
</span></p>
<p><span class="bodyBlack">
Sets the openejb.configuration system variable to the file
C:\openejb\conf\mytest.conf. When the server starts up and
the initializes OpenEJB, this configuration will be
used to assemble the container system and load beans.
</span></p>
<a name="using.--admin-ip"><h3>Using --admin-ip addresses</h3></a>
<p><span class="bodyBlack">
<span class="command">openejb start --admin-ip 192.168.1.12</span>
</span></p>
<p><span class="bodyBlack">
Adds 192.168.1.12 to the list of IP addresses that are
authorized to shutdown the server or access the server
via a telnet client. The host that this server was
started on is always allowed to administer the server.
</span></p>
<p><span class="bodyBlack">
Multiple hosts can be given administrative access to
this server by listing all the host names separated
by commas as such:
</span></p>
<p><span class="bodyBlack">
<span class="command">openejb start --admin-ip 192.168.1.12,joe.foo.com,robert</span>
</span></p>
<p><span class="bodyBlack">
The first host in the string names the host explicitly
using an IP address (192.168.1.12).
</span></p>
<p><span class="bodyBlack">
The second host in uses a DNS name (joe.foo.com) to refer
to the hosts IP address. The DNS name will be resolved
and the IP will be added to the admin list.
</span></p>
<p><span class="bodyBlack">
The third address refers to a the host by a name (robert)
that the opperating system is able to resolve into a valid
IP address. This is usually done via a hosts file, interal
DNS server, or Windows Domain Server.
</span></p>
<a name="using.-conf"><h2>Using -conf file</h2></a>
<p><span class="bodyBlack">
<span class="command">openejb start -conf C:\openejb\conf\mytest.conf</span>
</span></p>
<p><span class="bodyBlack">
<span class="command">openejb start --local-copy=true</span>
</span></p>
<p><span class="bodyBlack">
Instructs the container system to marshall (ie, copy) all
calls between beans are required by the EJB 1.1 specification.
</span></p>
<p><span class="bodyBlack">
<span class="command">openejb start --local-copy=false</span>
</span></p>
<p><span class="bodyBlack">
Instructs the container system to not marshall (copy) calls
between beans. The container system as will pass parameters
and return values without copying or marshalling as is
required for EJB 2.0 Local interfaces.
</span></p>
</td><td align="left" valign="top" height="5" width="120">
&nbsp;
</td></tr><tr height="5"><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td valign="top" bgcolor="#7270c2" height="5" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" height="5" width="7">&nbsp;</td><td align="left" valign="top" height="5" width="40">&nbsp;</td><td align="left" valign="top" height="5" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td align="left" valign="top" bgcolor="#7270c2" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="20"><img border="0" height="125" width="20" src="images/stripes1.gif"></td><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="95"><img border="0" height="125" width="105" src="images/stripe105.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="100%" rowspan="2" width="7">&nbsp;</td><td align="left" valign="top" height="100%" width="40">&nbsp;</td><td align="left" valign="top" height="100%" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="top" height="25" width="40">&nbsp;</td><td align="left" valign="bottom" height="25" width="430"><br><br><img height="3" width="430" border="0" src="images/line_light.gif"><br><p></p><span class="bodyGrey"><small><notice>
OpenEJB is a trademark of the OpenEJB Group.
Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and in other
countries. XML, XML Schema, XSLT and related standards are trademarks or registered
trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web
Consortium. All other product names mentioned herein are trademarks of their respective
owners.
</notice><br>&nbsp;<br></small></span><p></p>
&nbsp;
</td><td align="left" valign="top" height="25" width="120">&nbsp;</td></tr></table></body></html>