blob: 039229613e0d9cbd8631b9bafd9f8a324862810d [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Apache TomEE</title>
<meta name="description"
content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." />
<meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" />
<meta name="author" content="Luka Cvetinovic for Codrops" />
<link rel="icon" href="../../favicon.ico">
<link rel="icon" type="image/png" href="../../favicon.png">
<meta name="msapplication-TileColor" content="#80287a">
<meta name="theme-color" content="#80287a">
<link rel="stylesheet" type="text/css" href="../../css/normalize.css">
<link rel="stylesheet" type="text/css" href="../../css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="../../css/owl.css">
<link rel="stylesheet" type="text/css" href="../../css/animate.css">
<link rel="stylesheet" type="text/css" href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="../../fonts/eleganticons/et-icons.css">
<link rel="stylesheet" type="text/css" href="../../css/jqtree.css">
<link rel="stylesheet" type="text/css" href="../../css/idea.css">
<link rel="stylesheet" type="text/css" href="../../css/cardio.css">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2717626-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="preloader">
<img src="../../img/loader.gif" alt="Preloader image">
</div>
<nav class="navbar">
<div class="container">
<div class="row"> <div class="col-md-12">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<span>
<img src="../../img/logo-active.png">
</span>
Apache TomEE
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right main-nav">
<li><a href="../../docs.html">Documentation</a></li>
<li><a href="../../community/index.html">Community</a></li>
<li><a href="../../security/security.html">Security</a></li>
<li><a href="../../download-ng.html">Downloads</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div></div>
</div>
<!-- /.container-fluid -->
</nav>
<div id="main-block" class="container main-block">
<div class="row title">
<div class="col-md-12">
<div class='page-header'>
<h1>Unix Daemon</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Apache TomEE can be run as a daemon using the
<a href="http://commons.apache.org/daemon/jsvc.html">jsvc</a> tool from the
<a href="http://commons.apache.org/daemon">Apache Commons Daemon</a> project.</p>
</div>
<div class="paragraph">
<p>Source tarballs for <code>jsvc</code> are included with Tomcat and therefore can be
found in TomEE as well. These need to be compiled before jsvc can be
used.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_building_jsvc">Building jsvc</h2>
<div class="sectionbody">
<div class="paragraph">
<p>First, we&#8217;ll need to locate and unpack the
<code>commons-daemon-native.tar.gz</code></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">cd $TOMEE_HOME/bin
tar xzvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.7-native-src/unix/</code></pre>
</div>
</div>
<div class="paragraph">
<p>Note that the <code>commons-daemon-1.0.7-native-src</code> directory may have a
slightly different version number.</p>
</div>
<div class="paragraph">
<p>Second, we&#8217;ll need to build the <code>jsvc</code> binary. Under a UNIX operating
system you will need:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>An ANSI-C compliant compiler (GCC is good)</p>
</li>
<li>
<p>GNU Make</p>
</li>
<li>
<p>A Java Platform 2 compliant SDK</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>You have to specify the <code>JAVA_HOME</code> of the SDK either with the
<code>--with-java=&lt;dir&gt;</code> parameter or set the <code>JAVA_HOME</code> environment to
point to your SDK installation. For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-properties" data-lang="properties">./configure --with-java=/usr/java</code></pre>
</div>
</div>
<div class="paragraph">
<p>or</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-properties" data-lang="properties">export JAVA_HOME
./configure</code></pre>
</div>
</div>
<div class="paragraph">
<p>If your operating system is supported, configure will go through
cleanly, otherwise it will report an error (please send us the details
of your OS/JDK, or a patch against the sources). To build the binaries
and libraries simply do:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-java" data-lang="java">make</code></pre>
</div>
</div>
<div class="paragraph">
<p>This will generate the executable file <code>jsvc</code>.</p>
</div>
<div class="paragraph">
<p>Finally, we&#8217;ll want to set the execution bits and move the <code>jsvc</code> binary</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-properties" data-lang="properties">chmod 755 jsvc
mv jsvc $TOMEE_HOME/bin</code></pre>
</div>
</div>
<div class="paragraph">
<p>Done!</p>
</div>
<div class="paragraph">
<p>As one script, the above might look like:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">cd $TOMEE_HOME/bin
tar xzvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.7-native-src/unix/
./configure
make
chmod 755 jsvc
mv jsvc ../..</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_starting_unix">Starting (unix)</h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">sudo "$TOMEE_HOME/bin/jsvc" -cp "$TOMEE_HOME/bin/bootstrap.jar:$TOMEE_HOME/bin/tomcat-juli.jar" \
"-javaagent:$TOMEE_HOME/lib/openejb-javaagent.jar" -outfile "$TOMEE_HOME/logs/catalina.out" \
-errfile "$TOMEE_HOME/logs/catalina.err" org.apache.catalina.startup.Bootstrap</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_starting_osx">Starting (osx)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>For a 64-bit JVM such as OSX Lion</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">sudo arch -arch x86_64 "$TOMEE_HOME/bin/jsvc" -jvm server -cp "$TOMEE_HOME/bin/bootstrap.jar:$TOMEE_HOME/bin/tomcat-juli.jar" \
"-javaagent:$TOMEE_HOME/lib/openejb-javaagent.jar" -outfile "$TOMEE_HOME/logs/catalina.out" \
-errfile "$TOMEE_HOME/logs/catalina.err" org.apache.catalina.startup.Bootstrap</code></pre>
</div>
</div>
<div class="paragraph">
<p>For a 32-bit JVM</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">sudo arch -arch i386 "$TOMEE_HOME/bin/jsvc" -jvm server -cp "$TOMEE_HOME/bin/bootstrap.jar:$TOMEE_HOME/bin/tomcat-juli.jar" \
"-javaagent:$TOMEE_HOME/lib/openejb-javaagent.jar" -outfile "$TOMEE_HOME/logs/catalina.out" \
-errfile "$TOMEE_HOME/logs/catalina.err" org.apache.catalina.startup.Bootstrap</code></pre>
</div>
</div>
<div class="sect2">
<h3 id="_note_on_formatting">Note on formatting</h3>
<div class="paragraph">
<p>Note that <code>\</code> at the end of each line is unix syntax to keep everything
effectively as one line and one command. The command is simply too long
to show as one line on a fixed width html page. The <code>\</code> can be removed
as long as the resulting command is one long line.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_common_issues">Common Issues</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Ensure your <code>$TOME_HOME</code> and <code>$JAVA_HOME</code> variables are set correctly.
You should see similar output with the following two commands</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">mingus:~ 01:51:37
$ ls $TOMEE_HOME
LICENSE RELEASE-NOTES bin endorsed logs webapps
NOTICE RUNNING.txt conf lib temp work
mingus:~ 01:51:46
$ ls $JAVA_HOME
bin bundle lib man</code></pre>
</div>
</div>
<div class="paragraph">
<p>The <code>jsvc -debug</code> option can also show useful information for
troubleshooting:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-java" data-lang="java">$TOMEE_HOME/bin/jsvc -debug</code></pre>
</div>
</div>
<div class="paragraph">
<p>Note on OSX, <code>$JAVA_HOME</code> should be set to
<code>/System/Library/Frameworks/JavaVM.framework/Home</code></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_further_documentation">Further documentation</h2>
<div class="sectionbody">
<div class="paragraph">
<p>See also the full Apache Commons Daemon documentation for jsvc.</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="http://commons.apache.org/daemon/jsvc.html" class="bare">http://commons.apache.org/daemon/jsvc.html</a></p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-sm-6 text-center-mobile">
<h3 class="white">Be simple. Be certified. Be Tomcat.</h3>
<h5 class="light regular light-white">"A good application in a good server"</h5>
<ul class="social-footer">
<li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li>
<li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li>
<li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li>
</ul>
</div>
<div class="col-sm-6 text-center-mobile">
<div class="row opening-hours">
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../latest/docs/" class="white">Documentation</a></h5>
<ul class="list-unstyled">
<li><a href="../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li>
<li><a href="../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li>
<li><a href="../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li>
<li><a href="../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li>
</ul>
</div>
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../latest/examples/" class="white">Examples</a></h5>
<ul class="list-unstyled">
<li><a href="../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li>
<li><a href="../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li>
<li><a href="../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li>
<li><a href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li>
</ul>
</div>
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../community/index.html" class="white">Community</a></h5>
<ul class="list-unstyled">
<li><a href="../../community/contributors.html" class="regular light-white">Contributors</a></li>
<li><a href="../../community/social.html" class="regular light-white">Social</a></li>
<li><a href="../../community/sources.html" class="regular light-white">Sources</a></li>
</ul>
</div>
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../security/index.html" class="white">Security</a></h5>
<ul class="list-unstyled">
<li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
<li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
<li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="row bottom-footer text-center-mobile">
<div class="col-sm-12 light-white">
<p>Copyright &copy; 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
</div>
</div>
</footer>
<!-- Holder for mobile navigation -->
<div class="mobile-nav">
<ul>
<li><a hef="../../latest/docs/admin/index.html">Administrators</a>
<li><a hef="../../latest/docs/developer/index.html">Developers</a>
<li><a hef="../../latest/docs/advanced/index.html">Advanced</a>
<li><a hef="../../community/index.html">Community</a>
</ul>
<a href="#" class="close-link"><i class="arrow_up"></i></a>
</div>
<!-- Scripts -->
<script src="../../js/jquery-1.11.1.min.js"></script>
<script src="../../js/owl.carousel.min.js"></script>
<script src="../../js/bootstrap.min.js"></script>
<script src="../../js/wow.min.js"></script>
<script src="../../js/typewriter.js"></script>
<script src="../../js/jquery.onepagenav.js"></script>
<script src="../../js/tree.jquery.js"></script>
<script src="../../js/highlight.pack.js"></script>
<script src="../../js/main.js"></script>
</body>
</html>