Blog Archives

Proximity

I use Proximity as Maven mirror. If you need a new repository to use the artifacts for your project, you have to change three XML files to add it, which is a not easy and every time you have to copy and paste some parts of the configuration and have to change them manually. Because I’m a lazy developer I have written a script to create the necessary XML tags. You can download it from the server. Check the path of the Proximity installation within the script, per default it is set to $CATALINA_HOME/webapps/proximity. The script contains only a basic logic, you can enhance it with more complex things. The new repository will be added to the “public” repository group, which is set as the mirror within the Maven configuration file.

Tomcat-Apache connector

I have installed Tomcat 6 and Apache 2.0 to use some applications within Tomcat. To have access to the applications over ports 80/443 I have also installed the mod_jk connector. But I got error messages like

build_worker_map::jk_worker.c (236): creating worker ajp13
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
wc_create_worker::jk_worker.c (141): about to create instance ajp13 of ajp13
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
wc_create_worker::jk_worker.c (154): about to validate and init ajp13
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
ajp_validate::jk_ajp_common.c (1806): worker ajp13 contact is
'localhost:8009'
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
build_worker_map::jk_worker.c (248): removing old ajp13 worker
Found a wildchar match worker2 -> /hudson/*
[Fri Mar 19 12:39:34 2010] [29973:16384] [debug] jk_handler::mod_jk.c
(1839): Into handler jakarta-servlet worker=worker2 r->proxyreq=0
[Fri Mar 19 12:39:34 2010] [29973:16384] [debug]
wc_get_worker_for_name::jk_worker.c (111): did not find a worker worker2
[Fri Mar 19 12:39:34 2010] [29973:16384] [info] jk_handler::mod_jk.c
(1993): Could not find a worker for worker name=worker2

All the little things within the Apache configuration have been made, but my worker hasn’t been found.

LoadModule jk_module /usr/local/apache2/modules/mod_jk.so
JkWorkersFile /etc/apache2/workers.properties
JkMount /hudson/* worker2

Several hours later, I have found a similar error description on the internet (but no solution…). I wrote a short mail to Rainer Jung, one of the followers, and he said, that the connector will use a default ajp13 worker if it cannot find another one. This means, that the module cannot find my workers property file.

Hm, the file permissions were correct, the file was on the correct path. The Apache documentation gave me the right hint:

The directive JkWorkersFile must not be within a VirtualHost directive. I had configured a special vhost for the Tomcat access and moved all the configuration stuff into that directive. The problem has been solved by a simple move of the JkWorkersFile line out of the VirtualHost directive. Very simple, damn.