|
Buscador
Secciones
Registro
¡Colabora!
Ganamos
Servicios
|
Inicio > Tutoriales > Lenguajes orientados a objeto > Java > Servidores de Aplicaciones Java > Tomcat - Introducción
Definir workers de un cierto tipo debería hacerse siguiendo este formato de propiedad: worker.<worker name>.type=<worker type> Donde worker name es el nombre asignado al worker y worker type es uno de los cuatro tipos definidos en la tabla. Un nombre de worker podría no contener espacios (una buena convención de nombres sería utilizar las reglas de nombrado para las variables Java). Por ejemplo:
|
| Nombre de Propiedad |
Significado | Ejemplo |
|---|---|---|
| port | El puerto donde el worker Tomcat escucha peticiones ajp12. | worker.local.port=8007 |
| host | El host donde el worker Tomcat escucha peticiones ajp12. | worker.local.host=www.x.com |
| lbfactor | Cuando trabaja con un worker de balance de carga, este es el factor de balance para el worker. | worker.local.lbfactor=2.5 |
Propiedades de un Wroker ajp13Los workers del tipo ajp13 reenvían peticiones a workers Tomcat fuera-de-proceso usando el protocolo ajpv13 sobre sockets TCP/IP. Las principales diferencias entre ajpv12 y ajpv13 son que:
La siguiente tabla especifica las propiedades que puede aceptar un worker ajp13:
| Nombre de Propiedad |
Significado | Ejemplo |
|---|---|---|
| port | El puerto donde el worker Tomcat escucha peticiones ajp12. | worker.local13.port=8007 |
| host | El host donde el worker Tomcat escucha peticiones ajp12. | worker.local13.host=www.x.com |
| lbfactor | Cuando trabaja con un worker de balance de carga, este es el factor de balance para el worker. | worker.local13.lbfactor=2.5 |
| cachesize | Especifica el número de conexiones sockets abiertas que mantendrá el worker. Por defecto este valor es 1, pero los servidores web multi-thread como Apache2.xx, IIS, y Netscape se beneficiarán si configuramos este valor a un nivel más alto (como una media estimada de los usuarios concurrentes de Tomcat). | worker.local13.cachesize=30 |
Propiedades de un Worker lbEl worker de balanceo de cargas realmente no se comunica con otros workers Tomcat, en su lugar es el responsable de varios workers "reales". Este control incluye:
El resultado general es que los workers manejados por el mismo worker lb tienen balance de cargas (basándose en su lbfactor y la sesión de usuario actual) y tambíen tienen anti-caída por lo que si un proceso Tomcat muere, no "matará" toda la site.
La siguiente tabla especifica las propiedades que puede aceptar un worker lb:
| Nombre de Propiedad |
Significado | Ejemplo |
|---|---|---|
| balanced_workers | Una lista separada por comas de workers que el balanceador de carga necesita manejar. Estos workers no deberían aparecer en la propiedad worker.list. | worker.loadbalancer.balanced_workers= local13, local12 |
Propiedades de un Worker jniEl worker jni abre una JVM dentro del proceso del servidor web y ejecuta Tomcat dentro de ella (es decir en-proceso). Después de esto, los mensajes pasados hacia y desde la JVM son pasados usando llamadas a métodos JNI, esto hace al worker jni más rápido que los workers fuera-de-proceso que necesitan comunicarse con los workers Tomcat escribiendo mensajes AJP sobre sockets TCP/IP.
Nota: como la JVM es multi-thread; el worker jni sólo se debería usar dentro de servidores multi-thread como AOLServer, IIS, Netscape y Apache2.0. Deberíamos asegurarnos de que el esquema de threads usado por el servidor web corresponde con el usado para construir el plugin jk del servidor web.
Como el worker jni abre una JVM puede aceptar tantas propiedades como pueda reenviar a la JVM como el classpath, etc. como podemos ver en la siguiente tabla:
| Nombre de Propiedad |
Significado | Ejemplo |
|---|---|---|
| class_path | El casspath usado por la JVM en-proceso. Esto debería apuntar a todos los ficheros jar/file de Tomcat así como a cualquier clase u otro fichero jar que queramos añadir a la JVM
Deberíamos recordar añadir también javac al classpath. Esto se hace en Java2 añadiendo tools.jar al classpath. En JDK1.xx deberíamos añadir classes.zip. La propiedad class_path se puede dividir en múltiples líneas. En este caso el entorno jk concatenará todas las entradas classpath poniendo un delimitador (":"/";") entre cada entrada. |
worker.localjni.class_path=path-to-some-jarfile worker.localjni.class_path=path-to-class-directory |
| cmd_line | La línea de comandos que es manejada sobre el código de arranque de Tomcat.
La propiedad cmd_line puede proporcionarse en múltiples líneas. En este caso el entorno jk las concatenará poniéndo espacios entre ellas. Nota: El string cmd_line no soporta espacios en blanco embebidos. Esto afecta principalmente a las especificaciones de paths. Sobre windows, podemos usar los nombres MS-DOS 8.3 para directorios que de otro modo contendrían un espacio en blanco. |
worker.localjni.cmd_line=-config worker.localjni.cmd_line=path-to-tomcats-server.xml-file worker.localjni.cmd_line=-home worker.localjni.cmd_line=-path-to-tomcat-home |
| jvm_lib | El path completo a la librería de implementación de la JVM. El worker jni usa este path para cargar la JVM dinámicamente. | worker.localjni.jvm_lib=full-path-to-jvm.dll |
| stdout | El path completo donde la JVM escribirá su System.out | worker.localjni.stdout=full-path-to-stdout-file |
| stderr | El path completo donde la JVM escribirá su System.err | worker.localjni.stderr=full-path-to-stderr-file |
| sysprops | Propiedades de sistema para la JVM. | worker.localjni.sysprops=some-property |
| ld_path | Path a las librerías dinámicas adicionales (similar en naturaleza a LD_LIBRARY_PATH). | worker.localjni.ld_path=some-extra-dynamic-library-path |
Macros en Ficheros de PropiedadesDesde Tomcat3.2 podemos definir macros en los ficheros de propiedades. Estas macros nos permite definir propiedades y posteriormente usarlas cuando construyamos otras propiedades. Por ejemplo, el siguiente fragmento:
workers.tomcat_home=c:\jakarta-tomcat workers.java_home=c:\jdk1.2.2 ps=\ worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar
Terminará con los siguientes valores para las propiedades worker.inprocess.class_path:
worker.inprocess.class_path= c:\jakarta-tomcat\classes worker.inprocess.class_path=c:\jdk1.2.2\lib\tools.jar
El ejemplo worker.propertiesComo escribir worker.properties por nosotros mismos no es una cosa fácil de hacer; junto con los paquetes de Tomcat3.2 (y superiores) viene un fichero worker.properties de ejemplo. Este fichero está pensado para ser tan genérico como sea posible y usa extensivamente las macros de propiedades.
El ejemplo worker.properties contiene el siguiente nivel de definiciones:
Las definicioens de los workers ajp12, ajp13 y lb pueden funcionar sin modificar el fichero. Sin embargo, para hacer que funcione el worker jni deberemos configurar las siguientes configuraciones en el fichero:
Cuando hagamos esto, el worker jni por defecto, debería funcionar.
| Leer comentarios (118) | |
| Escribir comentario | |
| Puntuación: |
|
| Votar | |
| Recomendar este tutorial | |
| Estadísticas |
Copyright © 1999-2006
Programación en castellano.
Todos los derechos reservados.
Formulario de Contacto -
Datos legales -
Publicidad
Hospedaje web y servidores dedicados linux por
Ferca Network