Jetty/Feature/JBoss
Contents
Configuring Jetty in JBoss
To build and run Jetty in JBoss, you need the following:
- JDK 1.4 (for JBoss 4.0.5) or JDK 1.5 (for JBoss 4.2.x)
- Maven 2.0.4 or later
- A JBoss installation
- Jetty-JBoss module in Jetty (this is in the Jetty-src, under contrib/jboss)
Building the Jetty-JBoss Module
After checking out the Jetty-JBoss module, go to the command line and cd to its home directory. Run:
mvn -P[jdk1.4|jdk1.5] -Djboss.home=path-to-jboss -Djboss.version=jboss-version clean install
where:
- path-to-jboss is the location of your JBoss installation and jboss-version is the version number of your JBoss installation.
- building with profile jdk1.4 includes jsp-2.0 in the SAR, and building with profile jdk1.5 includes jsp-2.1 instead.
Another way to build it is to edit the pom.xml. Edit the <properties> section and fill in the values for the <jboss.home> and <jboss.version> properties. Once you set these in the pom.xml, you can do the build with:
mvn clean install
Installing the Jetty-JBoss Module
- Delete the Tomcat files. In JBoss 4.0.x, delete $JBOSS-HOME/server/default/deploy/jbossweb-tomcat55.sar; in JBoss 4.2.x, delete $JBOSS-HOME/server/default/deploy/jboss-web.deployer (or from whichever deployment directory you are using).
- Ensure you have built the Jetty-JBoss module in $jetty.home/modules/contrib/jetty-jboss.
- Copy the $jetty.home/modules/contrib/jetty-jboss/target/jetty-JETTY-VERSION-jboss-JBOSS-VERSION.sar to your JBoss deploy directory (where JETTY-VERSION is the version of Jetty you are using and JBOSS-VERSION is the version of JBoss).
- Notice that the JBoss web-console refers to a Tomcat servlet; you might want to comment that out to make it usable. To do so, edit the $JBOSS-HOME/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/web.xml file and comment out this section:
<servlet> <servlet-name>Status Servlet</servlet-name> <servlet-class>org.jboss.web.tomcat.tc5.StatusServlet<span class="code-tag"></servlet-class> </servlet> <servlet-mapping> <servlet-name>Status Servlet</servlet-name> <url-pattern>/status</url-pattern> </servlet-mapping>
Configuring the Jetty-JBoss Module
By default, Jetty is configured with the following:
- A thread pool containing a minimum of 10 and a maximum of 250 threads
- A SelectChannelConnector on port 8080
This configuration is contained in the META-INF/jboss-service.xml file inside the SAR.
To change the port, add other types of connectors–(SSL, AJP13–configure a request log, or change the thread pool, you need to un-pack the SAR to a temporary directory, edit the META-INF/jboss-service.xml file, repack it and copy the modified SAR to the JBoss deploy directory.
Enabling Statistics
Edit the META-INF/jboss-service.xml file from the SAR (you need to unpack it first). Uncomment the following lines:
<!-- Uncomment for statistics <New id="StatsHandler" class="org.eclipse.jetty.handler.StatisticsHandler"> <Set name="handlers"> --> <!-- Uncomment for statistics </Set> </New> -->
Now re-jar the modified SAR. You can use the StatisticsHandlerMBean to retrieve the statistics using the JMX console.
Using Jetty-SAR and Struts Tiles
If you are using Struts Tiles for your web-application, you should probably edit webdefault.xml in the SAR and change dirAllowed to false. If you do not, when you try to insert a tile value (or override one) with an empty value, Jetty supplies a directory listing for that tile.
Compatibility Matrix
Version compatibility matrix:
Jetty Version | JBoss Version | JVM Version | |
---|---|---|---|
6.1.0 | 4.0.5.GA | JDK 1.4 | |
6.1.1 | 4.0.5.GA | JDK 1.4 | |
6.1.2 | 4.0.5.GA | JDK 1.4 | |
6.1.3 | 4.0.5.GA | JDK 1.4 | |
6.1.4 | 4.0.5.GA | JDK 1.4 | |
6.1.5 | 4.0.5.GA | JDK 1.4 | |
6.1.6 | 4.0.5.GA | JDK 1.4 | |
6.1.6 | 4.2.0.GA | JDK 1.5 | |
6.1.8 | 4.0.5.GA | JDK 1.5 | |
6.1.12rc2 | 4.2.3 GA | JDK 1.5 | |
6.1.17 | 4.0.5.GA | JDK 1.5 | |
6.1.18 | 4.0.5.GA | JDK 1.5 | |
6.1.21 | 4.2.3.GA | JDK1.5 |