General Informations and FAQ about JK
Where can I get help/support for JK ?
The primary mechanism for support is through the JK documentation included in the doc directory. Documentation is also available on the Apache Tomcat web site devoted to the Apache Tomcat Connectors Project For additional help, the best resource is the Tomcat Users Discussion list. You should start by searching the mail list archive before you post questions to the list. If you are unable to locate the answer to your question in the archive, you can post questions about JK to the user list for assistance. Make sure that you include the version of your web server, that you are using as well as the platform you are running on and go here to determine how to subscribe to tomcat mailing list.
I can't find JK anywhere. Where is it?
Now that JK moved to the tomcat-connectors repository, the source and the binaries for JK can be downloaded from a mirror at the Tomcat Connectors (mod_jk) Downloads page.
What's the difference between JK and mod_jk ?
JK is a project covering web servers to Tomcat connectors.
Apache HTTP Server support is implemented on JK, using a plugin called the mod_jk module.
Microsoft IIS support is implemented on JK, using a plugin called the ISAPI redirector.
Where can I get more information ?
For JK 1.2.x, you should read:
- Quick Start
- Apache HTTP Server and JK (mod_jk)
- Microsoft IIS and JK (ISAPI redirector)
- Workers configuration
For more detailed information, have a look at the Reference Guide. You could also try searching the mailing list archives for "JK" or look at the source.
Which protocol should I use - ajp12, ajp13 or ajp14?
ajp13 is the standard. The old ajp12 is deprecated and ajp14 is experimental.
Also ajp13 is supported by all Apache Tomcat versions starting with Tomcat 3.2 and by other servlet engines like Jetty and JBoss.
I've got a firewall between my web server and Tomcat which drops ajp13 connections after some time
The ajp13 protocol uses persistant connections where the traffic could be null if there is no request to be sent to Tomcat. Firewalls use to drop inactive connections and will make your web server and Tomcat think the connection is valid.
Starting with JK 1.2.0, a socket_keepalive property as been added to ajp13 settings, and you should take a look at it in Workers HowTo and workers.properties reference. If nothing else helps, you can try JkOptions +DisableReuse, but this will have strong performance implications.
Under heavy load, I've got many threads in Tomcat even if my Apache HTTP Server handles much of the load
Under heavy load, the Apache HTTP Server creates many children to handle the load, which will in turn create many connections to Tomcat to forward the requests they should handle. The Apache HTTP Server will normally kill the children/threads when the load decreases. But if the load is still there and even if only Apache handles the requests, ie static contents, the children are kept and with them all the ajp13 connections, even if they are no more used.
To close connections after some time of inactivity you can use connection_pool_timeout, for more informations refer to workers.properties reference.