8.3. Native Components

The Native Components Package

The Native Components package is an optional component for the JBoss Enterprise Application Platform that incorporates native operating system components and connectors for web servers, including JBoss Native, mod_jk, mod_cluster, NSAPI for Solaris, NSAPI for Oracle iPlanet Web Server, ISAPI for Windows and HornetQ LibAIO Native for Red Hat Enterprise Linux.

Installing JBoss Native results in higher server performance, as native operating system code becomes available for the server to optimize tasks.
For more information on configuring the web server connectors, refer to the HTTP Connectors Load Balancing Guide.

Native Components Manifest

  • JBoss Native consists of the Apache Portable Runtime (APR), OpenSSL and Tomcat Native (TC-native);
    • Apache Portable Runtime (APR) provides superior scalability, performance, and improved integration with native server technologies. APR is a highly portable library that is at the heart of Apache HTTP Server 2.x. It enables access to advanced IO functionality (for example: sendfile, epoll and OpenSSL), Operating System level functionality (for example: random number generation and system status), and native process handling (shared memory, NT pipes and Unix sockets).
    • OpenSSL implements the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols and includes a basic cryptographic library.
    • Tomcat Native (TC-Native) is a Java Native Interface (JNI) that provides much of Tomcat's core functionality in native code rather than Java. This allows for an overall increase in the speed of a server.
  • mod_jk connects the Tomcat JSP container to the Apache webserver, providing load-balancing.
  • mod_cluster is an httpd-based load balancer. In contrast to mod_jk, mod_cluster creates a feedback loop between the proxy server and the worker nodes, enabling intelligent load distribution and routing within a load-balancing cluster.
  • ISAPI is a connector for the Microsoft IIS web server.
  • HornetQ LibAIO is used as a bridge between HornetQ and Linux LibAIO. It is used in HornetQ's high performance journal, when configured.

8.3.1. Red Hat Enterprise Linux-specific notes

Red Hat Enterprise Linux includes some of the Native Components in the base operating system. These include OpenSSL and the Apache Portable Runtime (APR). The Apache Portable Runtime is provided by the packages apr and apr-util.
If the server is started without the apr and apr-util packages installed, a message similar to the following will appear in logs:
WARN [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance
  in production environments was not found on the java.library.path:
  /home/eapuser/jboss-eap-5.2/native/lib.