commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r889153 - /commons/sandbox/runtime/trunk/src/site/xdoc/index.xml
Date Thu, 10 Dec 2009 09:26:05 GMT
Author: mturk
Date: Thu Dec 10 09:26:03 2009
New Revision: 889153

Update front page


Modified: commons/sandbox/runtime/trunk/src/site/xdoc/index.xml
--- 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>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>Supported operating systems are chosen on the deployment basis
+but any new operating system can be easily added by writing the
+appropriate wrappers.
+    <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>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:
+    <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>
+<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>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>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>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>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.

View raw message