jboss cxf ajp

jboss - Cuál es la causa y cómo corregir errores 503 con esto en Apache error_log: "Broken pipe: ajp_ilink_send(): send failed"



cxf (3)

Al utilizar el protocolo AJP, debe tener mucho cuidado para asegurarse de que ambos lados de la comunicación (es decir, Apache y Tomcat) estén configurados con los mismos parámetros. Esto se debe a que AJP utiliza conexiones persistentes y con estado, y ambas partes deben tener las mismas expectativas del ciclo de vida de la conexión.

Sugiero dar una buena lectura a los documentos relevantes de Tomcat . Probablemente tendrá que modificar la configuración mod_proxy_ajp de Apache, o la configuración del conector AJP de Tomcat, o ambas, para que coincidan. Si las configuraciones son incluso ligeramente diferentes, el rendimiento de AJP puede ser absolutamente malo.

Tengo problemas intermitentes con un servlet ejecutándose en JBoss, con Apache reenviando todas las solicitudes a través de mod_proxy_ajp.so.

A veces, para las solicitudes REST, recibo 503 errores de Apache. Cuando esto sucede, Apache error_log tiene esto:

[Mon Oct 12 09:10:19 2009] [error] (32)Broken pipe: ajp_ilink_send(): send failed [Mon Oct 12 09:10:19 2009] [error] (32)Broken pipe: proxy: send failed to 127.0.0.1:8009 (localhost)

Después de algunos intentos fallidos, comienza a funcionar nuevamente.

Busqué en Google y descubrí que no soy el único que ha encontrado el problema. La única solución que he encontrado es asegurarme de que Apache se inicie después de JBoss (reinicio Apache después de reiniciar JBoss).

Lo extraño de este problema es que hay otros servlets corriendo en este JBoss y no tengo el problema allí.

El servlet está basado en CXF JAX-RS.

Apache es 2.2.6.


He experimentado el mismo problema, pero tampoco he encontrado la causa. Una solución fácil es descargar mod_proxy_ajp a favor de mod_proxy_http , si la leve penalidad de rendimiento es aceptable. Funciona sin problemas, al menos para un sitio web con un máximo de 100 cargas de página por segundo.


Descubrí que este generador de configuraciones es útil para configurar las conexiones AJP. Comenzar con la configuración generada y leer la documentación relevante fue instructivo.

(Puede determinar el parámetro "Apache mpm" ejecutando apachectl -l , que enumera los módulos compilados).