http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/maven/stop-mojo.mdtext ---------------------------------------------------------------------- diff --git a/docs/maven/stop-mojo.mdtext b/docs/maven/stop-mojo.mdtext deleted file mode 100644 index 989e0d1..0000000 --- a/docs/maven/stop-mojo.mdtext +++ /dev/null @@ -1,1324 +0,0 @@ -<div class="section"> -<h2>tomee:stop<a name="tomee:stop"></a></h2> - -<p><b>Full name</b>:</p> - -<p>org.apache.openejb.maven:tomee-maven-plugin[:Current Version]:stop</p> - -<p><b>Description</b>:</p> - -<div>Stop a TomEE started with start command.</div> - -<p><b>Attributes</b>:</p> - -<ul> - -<li>Requires a Maven project to be executed.</li> - -<li>Requires dependency resolution of artifacts in scope: <tt>runtime+system</tt>.</li> - -<li>Requires dependency collection of artifacts in scope: <tt>runtime</tt>.</li> - </ul> - -<div class="section"> -<h3>Optional Parameters<a name="Optional_Parameters"></a></h3> - -<table class="mdtable"> - -<tr class="a"> - -<th>Name</th> - -<th>Type</th> - -<th>Since</th> - -<th>Description</th> - </tr> - -<tr class="b"> - -<td><b><a href="#apacheRepos">apacheRepos</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>snapshots</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.apache-repos</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#appDir">appDir</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>relative to tomee.base.<br /><b>Default value is</b>: <tt>apps</tt>.<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#apps">apps</a></b></td> - -<td><tt>List</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /></td> - </tr> - -<tr class="a"> - -<td><b><a href="#args">args</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.args</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#bin">bin</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}/src/main/tomee/bin</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.bin</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#catalinaBase">catalinaBase</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.build.directory}/apache-tomee</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.catalina-base</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#checkStarted">checkStarted</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.check-started</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#classpaths">classpaths</a></b></td> - -<td><tt>List</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#config">config</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}/src/main/tomee/conf</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.conf</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#context">context</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>rename the current artifact<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#debug">debug</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.debug</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#debugPort">debugPort</a></b></td> - -<td><tt>int</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>5005</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.debugPort</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#deployOpenEjbApplication">deployOpenEjbApplication</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.deploy-openejb-internal-application</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#docBases">docBases</a></b></td> - -<td><tt>List</tt></td> - -<td><tt>-</tt></td> - -<td>for TomEE and wars only, which docBase to use for this war.<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#ejbRemote">ejbRemote</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.ejb-remote</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#externalRepositories">externalRepositories</a></b></td> - -<td><tt>List</tt></td> - -<td><tt>-</tt></td> - -<td>for TomEE and wars only, add some external repositories to -classloader.<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#forceReloadable">forceReloadable</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>force webapp to be reloadable<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.force-reloadable</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#javaagents">javaagents</a></b></td> - -<td><tt>List</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#keepServerXmlAsthis">keepServerXmlAsthis</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(Removed since 7.0.0)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.keep-server-xml</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#lib">lib</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}/src/main/tomee/lib</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.lib</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#libDir">libDir</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>relative to tomee.base.<br /><b>Default value is</b>: <tt>lib</tt>.<br /></td> - </tr> - -<tr class="a"> - -<td><b><a href="#libs">libs</a></b></td> - -<td><tt>List</tt></td> - -<td><tt>-</tt></td> - -<td>supported formats: --> groupId:artifactId:version... --> -unzip:groupId:artifactId:version... --> remove:prefix (often -prefix = artifactId)<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#mainDir">mainDir</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}/src/main</tt>.<br /></td> - </tr> - -<tr class="a"> - -<td><b><a href="#password">password</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.pwd</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#quickSession">quickSession</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>use a real random instead of secure random. saves few ms at -startup.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.quick-session</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#realm">realm</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.realm</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#removeDefaultWebapps">removeDefaultWebapps</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.remove-default-webapps</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#removeTomeeWebapp">removeTomeeWebapp</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.remove-tomee-webapps</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#simpleLog">simpleLog</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.simple-log</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#skipCurrentProject">skipCurrentProject</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.skipCurrentProject</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#skipWarResources">skipWarResources</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>when you set docBases to src/main/webapp setting it to true will -allow hot refresh.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.skipWarResources</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#systemVariables">systemVariables</a></b></td> - -<td><tt>Map</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#target">target</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.build.directory}</tt>.<br /></td> - </tr> - -<tr class="a"> - -<td><b><a href="#tomeeAjpPort">tomeeAjpPort</a></b></td> - -<td><tt>int</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>8009</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.ajp</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#tomeeAlreadyInstalled">tomeeAlreadyInstalled</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.exiting</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#tomeeArtifactId">tomeeArtifactId</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>apache-tomee</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.artifactId</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#tomeeClassifier">tomeeClassifier</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>webprofile</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.classifier</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#tomeeGroupId">tomeeGroupId</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>org.apache.openejb</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.groupId</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#tomeeHost">tomeeHost</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>localhost</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.host</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#tomeeHttpPort">tomeeHttpPort</a></b></td> - -<td><tt>int</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>8080</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.http</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#tomeeHttpsPort">tomeeHttpsPort</a></b></td> - -<td><tt>Integer</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.https</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#tomeeShutdownCommand">tomeeShutdownCommand</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>SHUTDOWN</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.shutdown-command</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#tomeeShutdownPort">tomeeShutdownPort</a></b></td> - -<td><tt>int</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>8005</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.shutdown</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#tomeeVersion">tomeeVersion</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>-1</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.version</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#useConsole">useConsole</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.use-console</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#useOpenEJB">useOpenEJB</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>use openejb-standalone automatically instead of TomEE<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.openejb</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#user">user</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.user</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#warFile">warFile</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.build.directory}/${project.build.finalName}.${project.packaging}</tt>.<br /></td> - </tr> - -<tr class="b"> - -<td><b><a href="#webappClasses">webappClasses</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.webappClasses</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#webappDefaultConfig">webappDefaultConfig</a></b></td> - -<td><tt>boolean</tt></td> - -<td><tt>-</tt></td> - -<td>forcing nice default for war development (WEB-INF/classes and web -resources)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.webappDefaultConfig</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#webappDir">webappDir</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>relative to tomee.base.<br /><b>Default value is</b>: <tt>webapps</tt>.<br /></td> - </tr> - -<tr class="a"> - -<td><b><a href="#webappResources">webappResources</a></b></td> - -<td><tt>File</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}/src/main/webapp</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.webappResources</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#webapps">webapps</a></b></td> - -<td><tt>List</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /></td> - </tr> - </table> - </div> - -<div class="section"> -<h3>Parameter Details<a name="Parameter_Details"></a></h3> - -<p><b><a name="apacheRepos">apacheRepos</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.apache-repos</tt></li> - -<li><b>Default</b>: <tt>snapshots</tt></li> - </ul><hr /> -<p><b><a name="appDir">appDir</a>:</b></p> - -<div>relative to tomee.base.</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>Default</b>: <tt>apps</tt></li> - </ul><hr /> -<p><b><a name="apps">apps</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.List</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="args">args</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.args</tt></li> - </ul><hr /> -<p><b><a name="bin">bin</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.bin</tt></li> - -<li><b>Default</b>: <tt>${project.basedir}/src/main/tomee/bin</tt></li> - </ul><hr /> -<p><b><a name="catalinaBase">catalinaBase</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.catalina-base</tt></li> - -<li><b>Default</b>: <tt>${project.build.directory}/apache-tomee</tt></li> - </ul><hr /> -<p><b><a name="checkStarted">checkStarted</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.check-started</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="classpaths">classpaths</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.List</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="config">config</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.conf</tt></li> - -<li><b>Default</b>: <tt>${project.basedir}/src/main/tomee/conf</tt></li> - </ul><hr /> -<p><b><a name="context">context</a>:</b></p> - -<div>rename the current artifact</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="debug">debug</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.debug</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="debugPort">debugPort</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>int</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.debugPort</tt></li> - -<li><b>Default</b>: <tt>5005</tt></li> - </ul><hr /> -<p><b><a name="deployOpenEjbApplication">deployOpenEjbApplication</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.deploy-openejb-internal-application</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="docBases">docBases</a>:</b></p> - -<div>for TomEE and wars only, which docBase to use for this war.</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.List</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="ejbRemote">ejbRemote</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.ejb-remote</tt></li> - -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /> -<p><b><a name="externalRepositories">externalRepositories</a>:</b></p> - -<div>for TomEE and wars only, add some external repositories to -classloader.</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.List</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="forceReloadable">forceReloadable</a>:</b></p> - -<div>force webapp to be reloadable</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.force-reloadable</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="javaagents">javaagents</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.List</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="keepServerXmlAsthis">keepServerXmlAsthis</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.keep-server-xml</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="lib">lib</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.lib</tt></li> - -<li><b>Default</b>: <tt>${project.basedir}/src/main/tomee/lib</tt></li> - </ul><hr /> -<p><b><a name="libDir">libDir</a>:</b></p> - -<div>relative to tomee.base.</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>Default</b>: <tt>lib</tt></li> - </ul><hr /> -<p><b><a name="libs">libs</a>:</b></p> - -<div>supported formats: --> groupId:artifactId:version... --> -unzip:groupId:artifactId:version... --> remove:prefix (often -prefix = artifactId)</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.List</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="mainDir">mainDir</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>Default</b>: <tt>${project.basedir}/src/main</tt></li> - </ul><hr /> -<p><b><a name="password">password</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.pwd</tt></li> - </ul><hr /> -<p><b><a name="quickSession">quickSession</a>:</b></p> - -<div>use a real random instead of secure random. saves few ms at -startup.</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.quick-session</tt></li> - -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /> -<p><b><a name="realm">realm</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.realm</tt></li> - </ul><hr /> -<p><b><a name="removeDefaultWebapps">removeDefaultWebapps</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.remove-default-webapps</tt></li> - -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /> -<p><b><a name="removeTomeeWebapp">removeTomeeWebapp</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.remove-tomee-webapps</tt></li> - -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /> -<p><b><a name="simpleLog">simpleLog</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.simple-log</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="skipCurrentProject">skipCurrentProject</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.skipCurrentProject</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="skipWarResources">skipWarResources</a>:</b></p> - -<div>when you set docBases to src/main/webapp setting it to true will -allow hot refresh.</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.skipWarResources</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="systemVariables">systemVariables</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.Map</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /> -<p><b><a name="target">target</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>Default</b>: <tt>${project.build.directory}</tt></li> - </ul><hr /> -<p><b><a name="tomeeAjpPort">tomeeAjpPort</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>int</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.ajp</tt></li> - -<li><b>Default</b>: <tt>8009</tt></li> - </ul><hr /> -<p><b><a name="tomeeAlreadyInstalled">tomeeAlreadyInstalled</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.exiting</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="tomeeArtifactId">tomeeArtifactId</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.artifactId</tt></li> - -<li><b>Default</b>: <tt>apache-tomee</tt></li> - </ul><hr /> -<p><b><a name="tomeeClassifier">tomeeClassifier</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.classifier</tt></li> - -<li><b>Default</b>: <tt>webprofile</tt></li> - </ul><hr /> -<p><b><a name="tomeeGroupId">tomeeGroupId</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.groupId</tt></li> - -<li><b>Default</b>: <tt>org.apache.openejb</tt></li> - </ul><hr /> -<p><b><a name="tomeeHost">tomeeHost</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.host</tt></li> - -<li><b>Default</b>: <tt>localhost</tt></li> - </ul><hr /> -<p><b><a name="tomeeHttpPort">tomeeHttpPort</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>int</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.http</tt></li> - -<li><b>Default</b>: <tt>8080</tt></li> - </ul><hr /> -<p><b><a name="tomeeHttpsPort">tomeeHttpsPort</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.Integer</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.https</tt></li> - </ul><hr /> -<p><b><a name="tomeeShutdownCommand">tomeeShutdownCommand</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.shutdown-command</tt></li> - -<li><b>Default</b>: <tt>SHUTDOWN</tt></li> - </ul><hr /> -<p><b><a name="tomeeShutdownPort">tomeeShutdownPort</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>int</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.shutdown</tt></li> - -<li><b>Default</b>: <tt>8005</tt></li> - </ul><hr /> -<p><b><a name="tomeeVersion">tomeeVersion</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.version</tt></li> - -<li><b>Default</b>: <tt>-1</tt></li> - </ul><hr /> -<p><b><a name="useConsole">useConsole</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.use-console</tt></li> - -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /> -<p><b><a name="useOpenEJB">useOpenEJB</a>:</b></p> - -<div>use openejb-standalone automatically instead of TomEE</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.openejb</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="user">user</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.user</tt></li> - </ul><hr /> -<p><b><a name="warFile">warFile</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>Default</b>: <tt>${project.build.directory}/${project.build.finalName}.${project.packaging}</tt></li> - </ul><hr /> -<p><b><a name="webappClasses">webappClasses</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.webappClasses</tt></li> - -<li><b>Default</b>: <tt>${project.build.outputDirectory}</tt></li> - </ul><hr /> -<p><b><a name="webappDefaultConfig">webappDefaultConfig</a>:</b></p> - -<div>forcing nice default for war development (WEB-INF/classes and web -resources)</div> - -<ul> - -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.webappDefaultConfig</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /> -<p><b><a name="webappDir">webappDir</a>:</b></p> - -<div>relative to tomee.base.</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>Default</b>: <tt>webapps</tt></li> - </ul><hr /> -<p><b><a name="webappResources">webappResources</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.io.File</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.webappResources</tt></li> - -<li><b>Default</b>: <tt>${project.basedir}/src/main/webapp</tt></li> - </ul><hr /> -<p><b><a name="webapps">webapps</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.util.List</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul> - </div> - </div> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/maven/undeploy-mojo.mdtext ---------------------------------------------------------------------- diff --git a/docs/maven/undeploy-mojo.mdtext b/docs/maven/undeploy-mojo.mdtext deleted file mode 100644 index 1c385a6..0000000 --- a/docs/maven/undeploy-mojo.mdtext +++ /dev/null @@ -1,205 +0,0 @@ -<div class="section"> -<h2>tomee:undeploy<a name="tomee:undeploy"></a></h2> - -<p><b>Full name</b>:</p> - -<p>org.apache.openejb.maven:tomee-maven-plugin[:Current Version]:undeploy</p> - -<p><b>Description</b>:</p> - -<div>Simply undeploy an application in a running TomEE</div> - -<p><b>Attributes</b>:</p> - -<ul> - -<li>Requires a Maven project to be executed.</li> - -<li>Requires dependency resolution of artifacts in scope: <tt>runtime</tt>.</li> - -<li>Requires dependency collection of artifacts in scope: <tt>runtime</tt>.</li> - </ul> - -<div class="section"> -<h3>Required Parameters<a name="Required_Parameters"></a></h3> - -<table class="mdtable"> - -<tr class="a"> - -<th>Name</th> - -<th>Type</th> - -<th>Since</th> - -<th>Description</th> - </tr> - -<tr class="b"> - -<td><b><a href="#path">path</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.archive</tt>.</td> - </tr> - </table> - </div> - -<div class="section"> -<h3>Optional Parameters<a name="Optional_Parameters"></a></h3> - -<table class="mdtable"> - -<tr class="a"> - -<th>Name</th> - -<th>Type</th> - -<th>Since</th> - -<th>Description</th> - </tr> - -<tr class="b"> - -<td><b><a href="#password">password</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.pwd</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#realm">realm</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.realm</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#tomeeHost">tomeeHost</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>localhost</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.host</tt>.</td> - </tr> - -<tr class="a"> - -<td><b><a href="#tomeeHttpPort">tomeeHttpPort</a></b></td> - -<td><tt>int</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>Default value is</b>: <tt>8080</tt>.<br /><b>User property is</b>: <tt>tomee-plugin.http</tt>.</td> - </tr> - -<tr class="b"> - -<td><b><a href="#user">user</a></b></td> - -<td><tt>String</tt></td> - -<td><tt>-</tt></td> - -<td>(no description)<br /><b>User property is</b>: <tt>tomee-plugin.user</tt>.</td> - </tr> - </table> - </div> - -<div class="section"> -<h3>Parameter Details<a name="Parameter_Details"></a></h3> - -<p><b><a name="password">password</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.pwd</tt></li> - </ul><hr /> -<p><b><a name="path">path</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>Yes</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.archive</tt></li> - </ul><hr /> -<p><b><a name="realm">realm</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.realm</tt></li> - </ul><hr /> -<p><b><a name="tomeeHost">tomeeHost</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.host</tt></li> - -<li><b>Default</b>: <tt>localhost</tt></li> - </ul><hr /> -<p><b><a name="tomeeHttpPort">tomeeHttpPort</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>int</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.http</tt></li> - -<li><b>Default</b>: <tt>8080</tt></li> - </ul><hr /> -<p><b><a name="user">user</a>:</b></p> - -<div>(no description)</div> - -<ul> - -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - -<li><b>User Property</b>: <tt>tomee-plugin.user</tt></li> - </ul> - </div> - </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/messagedrivencontainer-config.mdtext ---------------------------------------------------------------------- diff --git a/docs/messagedrivencontainer-config.mdtext b/docs/messagedrivencontainer-config.mdtext deleted file mode 100644 index 2448957..0000000 --- a/docs/messagedrivencontainer-config.mdtext +++ /dev/null @@ -1,65 +0,0 @@ -Title: MessageDrivenContainer Configuration - - -A MessageDrivenContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following. All properties in the element body are optional. - - <Container id="myMessageDrivenContainer" type="MESSAGE"> - activationSpecClass = org.apache.activemq.ra.ActiveMQActivationSpec - instanceLimit = 10 - messageListenerInterface = javax.jms.MessageListener - resourceAdapter = Default JMS Resource Adapter - </Container> - -Alternatively, a MessageDrivenContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties. The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext` - - myMessageDrivenContainer = new://Container?type=MESSAGE - myMessageDrivenContainer.activationSpecClass = org.apache.activemq.ra.ActiveMQActivationSpec - myMessageDrivenContainer.instanceLimit = 10 - myMessageDrivenContainer.messageListenerInterface = javax.jms.MessageListener - myMessageDrivenContainer.resourceAdapter = Default JMS Resource Adapter - -Properties and xml can be mixed. Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution. Properties are not case sensitive. If a property is specified that is not supported by the declared MessageDrivenContainer a warning will be logged. If a MessageDrivenContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings. Multiple MessageDrivenContainer declarations are allowed. -# Supported Properties -<table class="mdtable"> -<tr> -<th>Property</th> -<th>Type</th> -<th>Default</th> -<th>Description</th> -</tr> -<tr> - <td>activationSpecClass</td> - <td>String</td> - <td>org.apache.activemq.ra.ActiveMQActivationSpec</td> - <td> -Specifies the activation spec class -</td> -</tr> -<tr> - <td>instanceLimit</td> - <td>int</td> - <td>10</td> - <td> -Specifies the maximum number of bean instances that are -allowed to exist for each MDB deployment. -</td> -</tr> -<tr> - <td>messageListenerInterface</td> - <td>String</td> - <td>javax.jms.MessageListener</td> - <td> -Specifies the message listener interface handled by this container -</td> -</tr> -<tr> - <td>resourceAdapter</td> - <td>String</td> - <td>Default JMS Resource Adapter</td> - <td> -The resource adapter delivers messages to the container -</td> -</tr> -</table> - - http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/multicast-discovery.mdtext ---------------------------------------------------------------------- diff --git a/docs/multicast-discovery.mdtext b/docs/multicast-discovery.mdtext deleted file mode 100644 index 3257b59..0000000 --- a/docs/multicast-discovery.mdtext +++ /dev/null @@ -1,79 +0,0 @@ -Title: Multicast (UDP) Discovery - -Multicast is the preferred way to broadcast the heartbeat on the network. -The simple technique of broadcasting a non-changing service URI on the -network has specific advantages to multicast. The URI itself is -essentially stateless and there is no "i'm alive" URI or an "i'm dead" URI. - -In this way the issues with UDP being unordered and unreliable melt away as -state is no longer a concern and packet sizes are always small. -Complicated libraries that ride atop UDP and attempt to offer reliability -(retransmission) and ordering on UDP can be avoided. As well the -advantages UDP has over TCP are retained as there are no java layers -attempting to force UDP communication to be more TCP-like. The simple -design means UDP/Multicast is only used for discovery and from there on out -critical information is transmitted over TCP/IP which is obviously going to -do a better job at ensuring reliability and ordering. - -# Server Configuration - -When you boot the server there should be a `conf/multicast.properties` file -containing: - - - server = org.apache.openejb.server.discovery.MulticastDiscoveryAgent - bind = 239.255.2.3 - port = 6142 - disabled = true - group = default - - -Just need to enable that by setting `disabled=false`. All of the above -settings except `server` can be changed. The `port` and `bind` must -be valid for general multicast/udp network communication. - -The `group` setting can be changed to further group servers that may use -the same multicast channel. As shown below the client also has a `group` -setting which can be used to select an appropriate server from the -multicast channel. - -# Multicast Client - -The multicast functionality is not just for servers to find each other in a -cluster, it can also be used for EJB clients to discover a server. A -special `multicast://` URL can be used in the `InitialContext` properties to -signify that multicast should be used to seed the connection process. Such -as: - - Properties p = new Properties(); - p.put(Context.INITIAL_CONTEXT_FACTORY, - "org.apache.openejb.client.RemoteInitialContextFactory"); - p.put(Context.PROVIDER_URL, "multicast://239.255.2.3:6142?group=default"); - InitialContext remoteContext = new InitialContext(p); - -The URL has optional query parameters such as `schemes` and `group` and -`timeout` which allow you to zero in on a particular type of service of a -particular cluster group as well as set how long you are willing to wait in -the discovery process till finally giving up. The first matching service -that it sees "flowing" around on the UDP stream is the one it picks and -sticks to for that and subsequent requests, ensuring UDP is only used when -there are no other servers to talk to. - -Note that EJB clients do not need to use multicast to find a server. If -the client knows the URL of a server in the cluster, it may use it and -connect directly to that server, at which point that server will share the -full list of its peers. - -# Multicast Servers with TCP Clients - -Note that clients do not need to use multicast to communicate with servers. -Servers can use multicast to discover each other, but clients are still -free to connect to servers in the network using the server's TCP address. - - Properties p = new Properties(); - p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory"); - p.put(Context.PROVIDER_URL, "ejbd://192.168.1.30:4201"); - InitialContext remoteContext = new InitialContext(p); - -When the client connects, the server will send the URLs of all the servers -in the group and failover will take place normally. http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/multiple-business-interface-hazzards.mdtext ---------------------------------------------------------------------- diff --git a/docs/multiple-business-interface-hazzards.mdtext b/docs/multiple-business-interface-hazzards.mdtext deleted file mode 100644 index 34bb395..0000000 --- a/docs/multiple-business-interface-hazzards.mdtext +++ /dev/null @@ -1,199 +0,0 @@ -Title: Multiple Business Interface Hazzards -<a name="MultipleBusinessInterfaceHazzards-UndeclaredThrowableException"></a> -# UndeclaredThrowableException - -When two java interfaces are implemented by a proxy and those two -interfaces declare the *same method* but with *different throws clauses* -some very nasty side effects happen, namely you loose the ability to throw -any checked exceptions that are not in the throws clause of both methods. - - - import junit.framework.TestCase; - - import java.lang.reflect.InvocationHandler; - import java.lang.reflect.Method; - import java.lang.reflect.UndeclaredThrowableException; - - /** - * @version $Rev$ $Date$ - */ - public class ExceptionTest extends TestCase { - - public void test() throws Exception { - ClassLoader classLoader = this.getClass().getClassLoader(); - Class[] - interfaces = new Class[]{One.class, Two.class}; - - InvocationHandler h = new TestInvocationHandler(); - - Object proxy = -java.lang.reflect.Proxy.newProxyInstance(classLoader, interfaces, h); - - One one = (One) proxy; - - try { - one.run(new CommonException()); - } catch (CommonException e) { - // this will work - } catch(UndeclaredThrowableException u) { - Throwable t = u.getCause(); - fail("Undeclared: "+t); - } catch(Throwable t){ - fail("Caught: "+t); - } - - try { - one.run(new OneException()); - } catch (OneException e) { - } catch(UndeclaredThrowableException u) { - Throwable t = u.getCause(); - fail("Undeclared: "+t); // This will always be the code that -executes - } catch(Throwable t){ - fail("Caught: "+t); - } - - Two two = (Two) proxy; - try { - two.run(new CommonException()); - } catch (TwoException e) { - } catch(UndeclaredThrowableException u) { - Throwable t = u.getCause(); - fail("Undeclared: "+t); // This will always be the code that -executes - } catch(Throwable t){ - fail("Caught: "+t); - } - - } - - public static class CommonException extends Exception { - public CommonException() { - } - } - - public static interface One { - void run(Object o) throws OneException, CommonException; - } - - public static class OneException extends Exception { - public OneException() { - } - } - - public static interface Two { - void run(Object o) throws TwoException, CommonException; - } - - public static class TwoException extends Exception { - public TwoException() { - } - } - - private static class TestInvocationHandler implements InvocationHandler -{ - public Object invoke(Object proxy, Method method, Object[] - args) throws Throwable { - throw (Throwable)args[0] -; - } - } - } - - - -<a name="MultipleBusinessInterfaceHazzards-IllegalArgumentException"></a> -# IllegalArgumentException - -This one is less of a runtime problem as doing this will cause things to -fail up front. When two java interfaces are implemented by a proxy and -those two interfaces declare the *same method* but with *different return -types* the VM proxy code will refuse to create a proxy at all. Take this -code example: - - - - import junit.framework.TestCase; - - import java.lang.reflect.InvocationHandler; - import java.lang.reflect.Method; - - /** - * @version $Rev$ $Date$ - */ - public class ReturnTest extends TestCase { - - public void test() throws Exception { - ClassLoader classLoader = this.getClass().getClassLoader(); - Class[] - interfaces = new Class[]{ReturnTest.One.class, ReturnTest.Two.class}; - - InvocationHandler h = new ReturnTest.TestInvocationHandler(); - - Object proxy = -java.lang.reflect.Proxy.newProxyInstance(classLoader, interfaces, h); - - One one = (One) proxy; - try { - Object object = one.run(new ThingOne()); - } catch (Throwable t) { - fail("Caught: " + t); - } - - Two two = (Two) proxy; - try { - Object object = two.run(new ThingTwo()); - } catch (Throwable t) { - fail("Caught: " + t); - } - - } - - public static interface One { - ThingOne run(Object o); - } - - public static class ThingOne { - } - - public static interface Two { - ThingTwo run(Object o); - } - - public static class ThingTwo { - } - - private static class TestInvocationHandler implements InvocationHandler -{ - public Object invoke(Object proxy, Method method, Object[] - args) throws Throwable { - return args[0] -; - } - } - } - - -Running this code will result in the following exception: - - - java.lang.IllegalArgumentException: methods with same signature -run(java.lang.Object) but incompatible return types: [class ReturnTest$ThingOne, class ReturnTest$ThingTwo] - at -sun.misc.ProxyGenerator.checkReturnTypes(ProxyGenerator.java:669) - at -sun.misc.ProxyGenerator.generateClassFile(ProxyGenerator.java:420) - at -sun.misc.ProxyGenerator.generateProxyClass(ProxyGenerator.java:306) - at java.lang.reflect.Proxy.getProxyClass(Proxy.java:501) - at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) - at ReturnTest.test(ReturnTest.java:36) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at -sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) - at -sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) - at -com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32) - - http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/multipoint-considerations.mdtext ---------------------------------------------------------------------- diff --git a/docs/multipoint-considerations.mdtext b/docs/multipoint-considerations.mdtext deleted file mode 100644 index 4a295cc..0000000 --- a/docs/multipoint-considerations.mdtext +++ /dev/null @@ -1,26 +0,0 @@ -Title: Multipoint Considerations - -# Network size - -The general disadvantage of this topology is the number of connections -required. The number of connections for the network of servers is equal to -`(n * n - n) / 2`, where n is the number of servers. For example, with 5 -servers you need 10 connections, with 10 servers you need 45 connections, -and with 50 servers you need 1225 connections. This is of course the -number of connections across the entire network, each individual server -only needs `n - 1` connections. - -The handling of these sockets is all asynchronous Java NIO code which -allows the server to handle many connections (all of them) with one thread. - From a pure threading perspective, the option is extremely efficient with -just one thread to listen and broadcast to many peers. - -# Double connect - -It is possible in this process that two servers learn of each other at the -same time and each attempts to connect to the other simultaneously, -resulting in two connections between the same two servers. When this -happens both servers will detect the extra connection and one of the -connections will be dropped and one will be kept. In practice this race -condition rarely happens and can be avoided almost entirely by fanning out -server startup by as little as 100 milliseconds. http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/multipoint-discovery.mdtext ---------------------------------------------------------------------- diff --git a/docs/multipoint-discovery.mdtext b/docs/multipoint-discovery.mdtext deleted file mode 100644 index e042537..0000000 --- a/docs/multipoint-discovery.mdtext +++ /dev/null @@ -1,71 +0,0 @@ -Title: Multipoint (TCP) Discovery - -As TCP has no real broadcast functionality to speak of, communication of -who is in the network is achieved by each server having a physical -connection to each other server in the network. - -To join the network, the server must be configured to know the address of -at least one server in the network and connect to it. When it does both -servers will exchange the full list of all the other servers each knows -about. Each server will then connect to any new servers they've just -learned about and repeat the processes with those new servers. The end -result is that everyone has a direct connection to everyone 100% of the -time, hence the made-up term "multipoint" to describe this situation of -each server having multiple point-to-point connections which create a fully -connected graph. - -On the client side things are similar. It needs to know the address of at -least one server in the network and be able to connect to it. When it does -it will get the full (and dynamically maintained) list of every server in -the network. The client doesn't connect to each of those servers -immediately, but rather consults the list in the event of a failover, using -it to decide who to connect to next. - -The entire process is essentially the art of using a statically maintained -list to bootstrap getting the more valuable dynamically maintained list. - -# Server Configuration - -In the server this list can be specified via the -`conf/multipoint.properties` file like so: - - server = org.apache.openejb.server.discovery.MultipointDiscoveryAgent - bind = 127.0.0.1 - port = 4212 - disabled = false - initialServers = 192.168.1.20:4212, 192.168.1.30:4212, 192.168.1.40:4212 - - -The above configuration shows the server has an `port` `4212` open for -connections by other servers for multipoint communication. The -`initialServers` list should be a comma separated list of other similar -servers on the network. Only one of the servers listed is required to be -running when this server starts up -- it is not required to list all -servers in the network. - -# Client Configuration - -Configuration in the client is similar, but note that EJB clients do not -participate directly in multipoint communication and do **not** connect to -the multipoint port. The server list is simply a list of the regular -`ejbd://` urls that a client normally uses to connect to a server. - - Properties p = new Properties(); - p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory"); - p.put(Context.PROVIDER_URL, "failover:ejbd://192.168.1.20:4201,ejbd://192.168.1.30:4201"); - InitialContext remoteContext = new InitialContext(p); - -Failover can work entirely driven by the server, the client does not need -to be configured to participate. A client can connect as usual to the server. - - Properties p = new Properties(); - p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory"); - p.put(Context.PROVIDER_URL, "ejbd://192.168.1.20:4201"); - InitialContext remoteContext = new InitialContext(p); - -If the server at `192.168.1.20:4201` supports failover, so will the client. - -In this scenario the list of servers used for failover is supplied entirely -by the server at `192.168.1.20:4201`. The server could have aquired the list -via multicast or multipoint (or both), but this detail is not visible to the -client. http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/multipoint-recommendations.mdtext ---------------------------------------------------------------------- diff --git a/docs/multipoint-recommendations.mdtext b/docs/multipoint-recommendations.mdtext deleted file mode 100644 index a7c2847..0000000 --- a/docs/multipoint-recommendations.mdtext +++ /dev/null @@ -1,139 +0,0 @@ -Title: Multipoint Recommendations - -As mentioned the `initialServers` is only used for bootstrapping -the multipoint network. Once running, all servers will dynamically -establish direct connections with each other and there is no single point -of failure. - -However to ensure that the bootstrapping process can occur successfully, -the `initialServers` property of the `conf/multipoint.properties` file -must be set carefully and with a specific server start order in mind. Each -server consults its `initialServers` list exactly once in the -bootstrapping phase at startup, after that time connections are made -dynamically. - -This means that at least one of the servers listed in `initialServers` -must already be running when the server starts or the server might never -become introduced and connected to all the other servers in the network. - -# Failed scenario <small>background</small> - -As an example of a failed scenario, imagine there are three servers; -`server1`, `server2`, `server3`. They are setup only to point to the server in -front of them making a chain: - -* server1; `initialServers = server2` -* server2; `initialServers = server3` -* server3; `initialServers = *<blank>*` - -Which is essentially `server1` -> `server2` -> `server3`. This scenario could -work, but they servers would have to be started in exactly the opposite -order: - -1. `server3` starts -1. `server2` starts - 1. *static:* connect to `server3` -1. `server1` starts - 1. *static:* connect to `server2` - 1. *dynamic:* connect to `server3` - -At this point all servers would be fully connected. But the above setup is -flawed and could easily fail. The first flaw is `server3` lists nothing in -its `initialServers` list, so if it were restarted it would leave the -multipoint network and not know how to get back in. - -The second flaw is if you started them in any other order, you would also -not get a fully connected multipoint network. Say the servers were started -in "front" order: - -1. `server1` starts - 1. *static:* connect to `server2` - failed, `server2` not started. -1. `server2` starts - 1. *static:* connect to `server3` - failed, `server3` not started. -1. `server3` starts - 1. no connection attempts, initialServers list is empty. - -After startup completes, all servers will be completely isolated and -failover will not work. The described setup is weaker than it needs to be. -Listing just one server means the listed server is a potential point of -weakness. As a matter of trivia, it is interesting to point out that you -could bring a fourth server online temporarily that lists all three -servers. Once it makes the introductions and all servers learn of each -other, you could shut it down again. - -The above setup is easily fixable via better configuration. If `server3` -listed both `server1` and `server2` in its initialServers list, rather than -listing nothing at all, then all servers would fully discover each other -regardless of startup order; assuming all three servers did eventually -start. - -# Bootstrapping Three Servers or Less - -In a three sever scenario, we recommend simply having all three servers -list all three servers. - -* server1/conf/multipoint.properties - * `initialServers = server1, server2, server3` -* server2/conf/multipoint.properties - * `initialServers = server1, server2, server3` -* server3/conf/multipoint.properties - * `initialServers = server1, server2, server3` - -There's no harm to a server listing itself. It gives you one clean list to -maintain and it will work even if you decide not to start one of the three -servers. - -# Bootstrapping Four Servers or More - -In a scenario of four or more, we recommend picking at least to servers and -focus on always keeping at least one of them running. Lets refer to them -as "root" servers for simplicity sake. - -* server1/conf/multipoint.properties - * `initialServers = server2` -* server2/conf/multipoint.properties - * `initialServers = server1` - -Root `server1` would list root `server2` so they would always be linked to each -other regardless of start order or if one of them went down. `Server1` could -be shutdown and reconnect on startup to the full multipoint network through -`server2`, and vice versa. - -All other servers would simply list the root servers (`server1`, `server2`) in -their initialServers list. - -* server3/conf/multipoint.properties - * `initialServers = server1, server2` -* server4/conf/multipoint.properties - * `initialServers = server1, server2` -* serverN/conf/multipoint.properties - * `initialServers = server1, server2` - -As long as at least one root server (`server1` or `server2`) was running, you -can bring other servers on and offline at will and always have a fully -connected graph. - -Of course all servers once running and connected will have a full list of -all other servers in the network, so if at any time the "root" servers -weren't around to make initial introductions to new servers it would be no -trouble. It's possible to reconfigure new servers to point at any other -server in the network as all servers will have the full list. So these -"root" servers are no real point of failure in function, but only of -convenience. - -# Setting initialServers <small>overrides</small> - -Always remember that any property in a `conf/<server-service>.properties` -file can be overridden on the command line or via system properties. So it -is possible easily set the `initialServers` list in startup scripts. - -A bash example might look something like: - - !/bin/bash - - OPENEJB_HOME=/opt/openejb-3.1.3 - INITIAL_LIST=$(cat /some/shared/directory/our_initial_servers.txt) - - $OPENEJB_HOME/bin/openejb start -Dmultipoint.initialServers=$INITIAL_LIST - - http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/multipulse-discovery.mdtext ---------------------------------------------------------------------- diff --git a/docs/multipulse-discovery.mdtext b/docs/multipulse-discovery.mdtext deleted file mode 100644 index 2d279e6..0000000 --- a/docs/multipulse-discovery.mdtext +++ /dev/null @@ -1,90 +0,0 @@ -Title: MultiPulse (UDP) Discovery - -MultiPulse is an alternative multicast lookup that does not use a regular heartbeat. -Instead, servers listen for a multicast request packet (a pulse) to which a response -is then sent. Multicast network traffic is effectively reduced to an absolute minimum. - -MultiPulse is only useful in network scenarios where both client and server can be -configured to send multicast UDP packets. - -# Server Configuration - -After you boot the server for the first time the default configuration will create the -file `conf/conf.d/multipulse.properties` containing: - - server = org.apache.openejb.server.discovery.MulticastPulseAgent - bind = 239.255.2.3 - port = 6142 - disabled = true - group = default - -You just need to enable the agent by setting `disabled = false`. It is advisable to -disable multicast in the `multicast.properties file`, or at least to use a different -bind address or port should you wish to use both. - -All of the above settings except `server` can be modified as required. -The `port` and `bind` must be valid for general multicast/udp network communication. - -The `group` setting can be changed to further group/cluster servers that may use -the same multicast channel. As shown below the client also has an optional `group` -setting which can be used to select an appropriate server cluster from the multicast -channel (See MultiPulse Client). - -The next step is to ensure that the advertised services are configured for discovery. -Edit the `ejbd.properties` file (and any other enabled services such as http, etc.) and -ensure that the `discovery` option is set to a value that remote clients will be able -to resolve. - - server = org.apache.openejb.server.ejbd.EjbServer - bind = 0.0.0.0 - port = 4201 - disabled = false - threads = 20 - discovery = ejb:ejbd://{bind}:{port} - -NOTE: If either `0.0.0.0` (IPv4) or `[::]` (IPv6) wildcard bind addresses are used then the -server will actually broadcast all of it's known public hosts to clients. Clients will then -cycle though and attempt to connect to the provided hosts until successful. - -If `localhost` is used then only clients on the same physical machine will actually 'see' the -server response. - -# MultiPulse Client - -The multipulse functionality is not just for servers to find each other in a -cluster, it can also be used for EJB clients to discover a server. A -special `multipulse://` URL can be used in the `InitialContext` properties to -signify that multipulse should be used to seed the connection process. Such -as: - - Properties p = new Properties(); - p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory"); - p.put(Context.PROVIDER_URL, "multipulse://239.255.2.3:6142?group=default&timeout=250"); - InitialContext remoteContext = new InitialContext(p); - -The URL has optional query parameters such as `schemes` and `group` and -`timeout` which allow you to zero in on a particular type of service of a -particular cluster group as well as set how long you are willing to wait in -the discovery process till finally giving up. The first matching service -that it sees "flowing" around on the UDP stream is the one it picks and -sticks to for that and subsequent requests, ensuring UDP is only used when -there are no other servers to talk to. - -Note that EJB clients do not need to use multipulse to find a server. If -the client knows the URL of a server in the cluster, it may use it and -connect directly to that server, at which point that server will share the -full list of its peers. - -# Multicast Servers with TCP Clients - -Note that clients do not need to use multipulse to communicate with servers. -Servers can use multicast to discover each other, but clients are still -free to connect to servers in the network using the server's TCP address. - - Properties p = new Properties(); - p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory"); - p.put(Context.PROVIDER_URL, "ejbd://192.168.1.30:4201"); - InitialContext remoteContext = new InitialContext(p); - -When the client connects, the server will send the URLs of all the servers -in the group and failover will take place normally. http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/new-in-openejb-3.0.mdtext ---------------------------------------------------------------------- diff --git a/docs/new-in-openejb-3.0.mdtext b/docs/new-in-openejb-3.0.mdtext deleted file mode 100644 index 3c568ab..0000000 --- a/docs/new-in-openejb-3.0.mdtext +++ /dev/null @@ -1,179 +0,0 @@ -title= New in OpenEJB 3.0 -type=page -status=published -~~~~~~ - -<a name="NewinOpenEJB3.0-EJB3.0"></a> -# EJB 3.0 - -OpenEJB 3.0 supports the EJB 3.0 specification as well as the prior EJB -2.1, EJB 2.0, and EJB 1.1. New features in EJB 3.0 include: - - - Annotations instead of xml - - No home interfaces - - Business Interfaces - - Dependency Injection - - Intercpetors - - Java Persistence API - - Service Locator (ala SessionContext.lookup) - - POJO-style beans - -EJB 2.x features since OpenEJB 1.0 also include: - - MessageDriven Beans - - Container-Managed Persistence (CMP) 2.0 - - Timers - -The two aspects of EJB that OpenEJB does not yet support are: - - Web Services (JAX-WS, JAX-RPC) - - CORBA - -JAX-WS and CORBA support will be added in future releases. Support for the -JAX-RPC API is not a planned feature. - -<a name="NewinOpenEJB3.0-ExtensionstoEJB3.0"></a> -# Extensions to EJB 3.0 - -<a name="NewinOpenEJB3.0-CMPviaJPA"></a> -## CMP via JPA - -Our CMP implementation is a thin layer over the new Java Persistence API -(JPA). This means when you deploy an old style CMP 1.1 or CMP 2.1 bean it -is internally converted and ran as a JPA bean. This makes it possible to -use both CMP and JPA in the same application without any coherence issues -that can come from using two competing persistence technologies against the -same data. Everything is ultimately JPA in the end. - -<a name="NewinOpenEJB3.0-ExtendedDependencyInjection"></a> -## Extended Dependency Injection - -Dependency Injection in EJB 3.0 via @Resource is largely limited to objects -provided by the container, such as DataSources, JMS Topics and Queues. It -is possible for you to supply your own configuration information for -injection, but standard rules allow for only data of type String, -Character, Boolean, Integer, Short, Long, Double, Float and Byte. If you -needed a URL, for example, you'd have to have it injected as a String then -convert it yourself to a URL. This is just plain silly as the conversion -of Strings to other basic data types has existed in JavaBeans long before -Enterprise JavaBeans existed. - -OpenEJB 3.0 supports injection of any data type for which you can supply a -JavaBeans PropertyEditor. We include several built-in PropertyEditors -already such as Date, InetAddress, Class, File, URL, URI, Map, List and -more. - - - import java.net.URI; - import java.io.File; - import java.util.Date; - - @Stateful - public class MyBean { - @Resource URI blog; - @Resource Date birthday; - @Resource File homeDirectory; - } - - -<a name="NewinOpenEJB3.0-TheMETA-INF/env-entries.properties"></a> -## The META-INF/env-entries.properties - -Along the lines of injection, one of the last remaining things in EJB 3 -that people need an ejb-jar.xml file for is to supply the value of -env-entries. Env Entries are the source of data for all user supplied data -injected into your bean; the afore mentioned String, Boolean, Integer, etc. - This is a very big burden as each env-entry is going to cost you 5 lines -of xml and the complication of having to figure out how to add you bean -declaration in xml as an override of an existing bean and not accidentally -as a new bean. All this can be very painful when all you want is to supply -the value of a few @Resource String fields in you bean class. - -To fix this, OpenEJB supports the idea of a META-INF/env-entries.properties -file where we will look for the value of things that need injection that -are not container controlled resources (i.e. datasources and things of that -nature). You can configure you ejbs via a properties file and skip the -need for an ejb-jar.xml and it's 5 lines per property madness. - - - blog = http://acme.org/myblog - birthday = locale=en_US style=MEDIUM Mar 1, 1954 - homeDirectory = /home/esmith/ - - -<a name="NewinOpenEJB3.0-SupportforGlassFishdescriptors"></a> -## Support for GlassFish descriptors - -Unit testing EJBs with OpenEJB is a major feature and draw for people, even -for people who may still use other app servers for final deployment such as -Geronimo or GlassFish. The descriptor format for Geronimo is natively -understood by OpenEJB as OpenEJB is the EJB Container provider for -Geronimo. However, OpenEJB also supports the GlassFish descriptors so -people using GlassFish as their final server can still use OpenEJB for -testing EJBs via plain JUnit tests in their build and only have one set of -vendor descriptors to maintain. - -<a name="NewinOpenEJB3.0-JavaEE5EARandApplicationClientsupport"></a> -## JavaEE 5 EAR and Application Client support - -JavaEE 5 EARs and Application Clients can be deployed in addition to ejb -jars. EAR support is limited to ejbs, application clients, and libraries; -WAR files and RAR files will be ignored. Per the JavaEE 5 spec, the -META-INF/application.xml and META-INF/application-client.xml files are -optional. - -<a name="NewinOpenEJB3.0-ApplicationValidationforEJB3.0"></a> -## Application Validation for EJB 3.0 - -Incorrect usage of various new aspects of EJB 3.0 are checked for and -reported during the deployment process preventing strange errors and -failures. - -As usual validation failures (non-compliant issues with your application) -are printed out in complier-style "all-at-once" output allowing you to see -and fix all your issues in one go. For example, if you have 10 -@PersistenceContext annotations that reference an invalid persistence unit, -you get all 10 errors on the *first* deploy rather than one failure on the -first deploy with 9 more failed deployments to go. - -Validation output comes in three levels. The most verbose level will tell -you in detail what you did wrong, what the options are, and what to do -next... even including valid code and annotation usage tailored to your app -that you can copy and paste into your application. Very ideal for -beginners and people using OpenEJB in a classroom setting. - -<a name="NewinOpenEJB3.0-MostconfigurableJNDInamesever"></a> -## Most configurable JNDI names ever - -<a name="NewinOpenEJB3.0-GeneralImprovements"></a> -# General Improvements - -<a name="NewinOpenEJB3.0-OnlineDeployment"></a> -## Online Deployment -<a name="NewinOpenEJB3.0-SecurityService"></a> -## Security Service -<a name="NewinOpenEJB3.0-ConnectionPooling"></a> -## Connection Pooling -<a name="NewinOpenEJB3.0-ConfigurationOverriding"></a> -## Configuration Overriding -<a name="NewinOpenEJB3.0-FlexibleJNDINameFormatting"></a> -## Flexible JNDI Name Formatting -<a name="NewinOpenEJB3.0-CleanerEmbedding"></a> -## Cleaner Embedding -<a name="NewinOpenEJB3.0-Tomcat6Support"></a> -## Tomcat 6 Support -<a name="NewinOpenEJB3.0-Businesslocalsremotable"></a> -## Business locals remotable - -If you want to make business local interfaces remotable, you can set this -property: - - openejb.remotable.businessLocals=true - -Then you can lookup your business local interfaces from remote clients. - -You'd still have to ensure that the you pass back and forth is -serializable. - - - - - http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/openejb-3.mdtext ---------------------------------------------------------------------- diff --git a/docs/openejb-3.mdtext b/docs/openejb-3.mdtext deleted file mode 100644 index 94dd083..0000000 --- a/docs/openejb-3.mdtext +++ /dev/null @@ -1,68 +0,0 @@ -Title: OpenEJB 3 - -<a name="OpenEJB3-Past,Present,andFuture"></a> -# Past, Present, and Future - -The goal of OpenEJB 3 is to merge our past, present, and future into one -codebase. OpenEJB 3 will take the excellent features in OpenEJB 1.0 -(tomcat integration, testability, embeddibility, ease of use, etc), move -towards an IoC architecture based on Gbean.org and Spring, bring in the -OpenEJB 2 code, and implement the EJB 3.0 specification. - -<a name="OpenEJB3-ThePlan"></a> -# The Plan - -We will start on OpenEJB 3 by taking the 1.0 code (pretty much the same as -0.9.2), merging in the 2.0 code, and ensuring that the entire time the code -we write is code you can use! We will never drop a feature, even -temporarily. We will start from code that users are now using and always -keep, maintain, and improve those features as we add new features. -Releasing early and often. - -<a name="OpenEJB3-Past"></a> -## Past - -OpenEJB 1.0 (from 0.9.2 lineage) has some great features and many people -that depend on them. Tomcat integration, Collapsed EARs, Container Driven -Testing, easy embedding, and other features make OpenEJB a unique EJB -implementation. We're going to take this code, kill all the static -old-school techniques, modernize it with and IoC architecture based on the -gbean.org kernel. The gbean kernel is an IoC kernel compatible with both -Spring and Geronimo. - -<a name="OpenEJB3-Present"></a> -## Present - -OpenEJB 2.0 is an awesome fast implementation of EJB 2.1 that runs in -Apache Geronimo. As the gbean.org kernel is both Spring and Geronimo -compatible, it provides a great way for us to take the Geronimo-compatible -EJB containers and deployers in OpenEJB 2 and start hammering them out and -releasing them to long-time OpenEJB users. It will also allow people using -OpenEJB to start experimenting with Spring's sophisticated IoC features. - -<a name="OpenEJB3-Future"></a> -## Future - -EJB 3.0 is a new direction for EJB and we're going to do it with style. A -focus on simplicity is where OpenEJB shines. Combining the EJB 3.0 -Simplified specification with our existing lightweight features, like -Container Driven Testing, is just the beginning. We plan to go way beyond -the planned additions and into areas the J2EE spec groups won't go such as -deployment descriptors with attributes, simpler packaging, more flexible -classloader setup, more powerful IoC support, simpler web services support -and more. - -<a name="OpenEJB3-ReleaseonDayOne"></a> -# Release on Day One - -Keep it working, keep it progressing, keep releasing. The 3.0 version -number won't be the finishing line, but the starting line. Our work will -start out as 3.0 on day one and keep incrementing the version number as we -get further along our feature list. The EJB 3.0 spec is not completed and -the OpenEJB 3.0 code line will be equally dynamic and best suited for -adventurous developers who enjoy reading release notes and participating on -user lists. There will be an incredible focus on keeping things stable -enough to use the entire time as we work towards feature completion. - -The effect of all this is that you get a fixed-up, far more extensible, -version of the code you are already using delivered to you right away. http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/openejb-binaries.mdtext ---------------------------------------------------------------------- diff --git a/docs/openejb-binaries.mdtext b/docs/openejb-binaries.mdtext deleted file mode 100644 index 0522ce7..0000000 --- a/docs/openejb-binaries.mdtext +++ /dev/null @@ -1,24 +0,0 @@ -Title: OpenEJB Binaries -Add this to your *$HOME/.m2/settings.xml* to enable publishing to the -Apache Nexus repo. This works for snapshots or staging final binaries. - - <settings> - <servers> - <server> - <id>apache.snapshots.https</id> - <username>yourapacheid</username> - <password>yourapachepass</password> - </server> - <server> - <id>apache.releases.https</id> - <username>yourapacheid</username> - <password>yourapachepass</password> - </server> - </servers> - </settings> - - -Then publish via: - - $ mvn clean deploy - http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/openejb-eclipse-plugin.mdtext ---------------------------------------------------------------------- diff --git a/docs/openejb-eclipse-plugin.mdtext b/docs/openejb-eclipse-plugin.mdtext deleted file mode 100644 index 68dc475..0000000 --- a/docs/openejb-eclipse-plugin.mdtext +++ /dev/null @@ -1,19 +0,0 @@ -Title: OpenEJB Eclipse Plugin -<a name="OpenEJBEclipsePlugin-OpenEJBEclipsePlugin"></a> -# OpenEJB Eclipse Plugin - -<a name="OpenEJBEclipsePlugin-Overview"></a> -### Overview - -The OpenEJB plugin for Eclipse provides the ability to run an OpenEJB -standalone server and deploy projects directly from within the IDE, using -functionality provided by the Eclipse Web Tools Project (WTP). -Additionally, the plugin also provides the capability to read a ejb-jar.xml -(and optionally a openejb-jar.xml) file and automatically add the -corresponding EJB 3 annotations to your code automatically. - -[Installation](installation.html) -[Building from source](building-from-source.html) -[Generating EJB 3 annotations](generating-ejb-3-annotations.html) -[Running a standalone OpenEJB server](running-a-standalone-openejb-server.html) - http://git-wip-us.apache.org/repos/asf/tomee/blob/c3f8984b/docs/openejb-jsr-107-integration.mdtext ---------------------------------------------------------------------- diff --git a/docs/openejb-jsr-107-integration.mdtext b/docs/openejb-jsr-107-integration.mdtext deleted file mode 100644 index 380b4a4..0000000 --- a/docs/openejb-jsr-107-integration.mdtext +++ /dev/null @@ -1,21 +0,0 @@ -Title: OpenEJB JSR-107 Integration - -<a name="OpenEJBJSR-107Integration-OpenEJBJSR-107(JCACHE)Integration"></a> -# OpenEJB JSR-107 (JCACHE) Integration - -This page is for the collaboration for those involved with the integration -of JSR-107 into OpenEJB. - -<a name="OpenEJBJSR-107Integration-Overview"></a> -### Overview - -The idea here is to add a caching layer to OpenEJB. The overall objective -is to improve performance in OpenEJB where applicable through caching EJBs. - -<a name="OpenEJBJSR-107Integration-Status"></a> -### Status - -Dain and myself (Jeremy) have deciphered the JSR-107 spec and how I am -working on the first crude integration of JCACHE into OpenEJB. Anyone -interested in helping or providing any feedback/suggestions, please contact -me via the developer mailing list.
