Author: mturk Date: Thu Dec 10 09:26:03 2009 New Revision: 889153 URL: http://svn.apache.org/viewvc?rev=889153&view=rev Log: Update front page
Modified: commons/sandbox/runtime/trunk/src/site/xdoc/index.xml Modified: commons/sandbox/runtime/trunk/src/site/xdoc/index.xml URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/site/xdoc/index.xml?rev=889153&r1=889152&r2=889153&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/site/xdoc/index.xml (original) +++ commons/sandbox/runtime/trunk/src/site/xdoc/index.xml Thu Dec 10 09:26:03 2009 @@ -30,6 +30,117 @@ application. On the other hand Java doesn't offer API that can fully benefit from the features most modern operating systems provide. </p> +<p>Apache Commons Runtime tries to solve that gap by providing the +JNI layer and Java API over that layer, allowing application to +fully utilize operating system features that are missing from the +main JDK implementation. +</p> +<p>Supported operating systems are chosen on the deployment basis +but any new operating system can be easily added by writing the +appropriate wrappers. +</p> +<p> + <table> + <tr> + <th>Operating System</th> + <th>Minimum Supported Version</th> + <th>Notes</th> + </tr> + <tr> + <td>Linux</td> + <td>Kernel 2.6</td> + <td></td> + </tr> + <tr> + <td>Microsoft Windows</td> + <td>XP</td> + <td></td> + </tr> + <tr> + <td>Sun Solaris</td> + <td>10</td> + <td>Intel and Sparc</td> + </tr> + <tr> + <td>Hewlett Packard</td> + <td>HP-UX 11.23</td> + <td></td> + </tr> + </table> +</p> + <p>Supported Java platform is <b>Java 5</b> although we + recommend <b>Java 6</b> to be used. + </p> +<p>Apache Commons Runtime supports the following extensions to +the existing JDK classes: +<ul> + <li><b>Memory Management</b><br/> + Used for managing the memory allocated directly from the operating + system. + </li> + <li><b>Mutex and Semaphore</b><br/> + Mutex and Semaphore objects are used for cross process synchronization. + </li> + <li><b>Shared Memory</b><br/> + Full support for named and anonymous shared memory. + </li> + <li><b>Memory Mapping</b><br/> + File memory mapping. + </li> + <li><b>Signaling</b><br/> + Passing signals between processes. + </li> + <li><b>Daemon</b><br/> + Daemon support for running processes as daemons or services. + </li> + <li><b>Process Management</b><br/> + Advanced process creation and management. + </li> + <li><b>Security</b><br/> + Native operating system security management and auditing. + </li> + <li><b>Asynchronous IO</b><br/> + Asynchronous IO for Files, Pipes and Sockets. + </li> + <li><b>Comprehensive OS Information and Statistics</b><br/> + Getting info about operating system memory, files, sockets, + CPU utilization and more. + </li> + <li><b>OpenSSL</b><br/> + Using OpenSSL for SSL and TLS networking. + </li> + <li><b>Platform Specifics</b><br/> + Platform specific classes like Windows Registry or SELinux. + </li> +</ul> +</p> + +</section> + +<section name="History"> +<p>Apache Commons Runtime originates from two projects; Apache Commons Daemon +and Tomcat Native, and is meant to be a direct replacement for those two projects. +</p> +<p>Commons Daemon lacks the features found in Tomcat Native and vice verse. +The primary reason for merging those two projects was the need for allowing graceful +restarts for Java server based applications without restart down time. +</p> +<p>That kind of concept is well known inside Apache Httpd project where parent +process creates the sockets that are passed to the child processes. When restart +is needed the previous child generation is stopped after the new child is created, +thus allowing zero down time. +</p> +<p>Tomcat Native uses Apache Portable Runtime (APR) for its native layer, +but since APR is generalization of the operating system it makes certain +compromises to allow cross platform API. +</p> +<p>Apache Commons Runtime uses APR code but without the APR memory pools since +being embedded inside JVM we already have a full garbage collector and +object life time management out of the box. APR pools in such environment +make additional layer which introduces unwanted memory overhead and +performance degradation, so unlike Tomcat Native, we use direct memory +allocation for all APR objects. +</p> </section>