SistemasError! Reference source not found. Versión: 1.0 25/01/2013 Manual de instalacion de Jboss AS7 en modo Standalone y en modo Domain Documentación Copia nº 00/00 Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 1 Instalación JBOSS AS 7 ............................................................................................................................... 4 2 Modo Domain vs. Modo Standalone ........................................................................................................... 6 2.1.1 Decidiendo entre el modo Domain y Standalone. ...................................................................... 6 3 Contenido de la distribución AS 7. ............................................................................................................. 8 3.1.1 Contenido del directorio "domain" .............................................................................................. 9 3.1.2 Contenido del directorio "standalone" ...................................................................................... 10 4 Conceptos Generales ................................................................................................................................. 12 4.1.1 Extensiones .............................................................................................................................. 12 4.1.2 Paths ......................................................................................................................................... 12 4.1.3 Interface de Administración ...................................................................................................... 13 4.1.4 Profiles ...................................................................................................................................... 13 4.1.5 Interfaces .................................................................................................................................. 14 4.1.6 Socket binding groups .............................................................................................................. 15 5 Configurando JBoss AS7 en modo Standalone ...................................................................................... 16 5.1.1 Introduccion: ............................................................................................................................. 16 5.1.2 Configuración de un solo nodo: ................................................................................................ 16 5.1.2.1 Crear la estructura de directorios: ............................................................................................ 16 5.1.2.2 Crear el usuario administrador: ................................................................................................ 16 5.1.2.3 El directorio instalación: ............................................................................................................ 17 5.1.2.4 El scrip de arranque es como siguiente: .................................................................................. 18 5.1.2.5 Utilizar el parámetro offset: ....................................................................................................... 19 5.1.2.6 Arrancar de la instancia del jboss:............................................................................................ 20 5.1.2.7 La consola de administración: .................................................................................................. 20 5.1.2.8 Despliegue del driver oracle: .................................................................................................... 21 5.1.2.9 Configuración del JDBC: .......................................................................................................... 26 5.1.3 Configuration en modo cluster.................................................................................................. 31 5.1.3.1 En la misma máquina: .............................................................................................................. 31 5.1.3.2 En maquinas diferentes: ........................................................................................................... 32 6 Configurando JBoss AS 7 en modo Domain ........................................................................................... 34 6.1.1 Introducción. ............................................................................................................................. 34 6.1.2 Configurando el dominio ........................................................................................................... 35 6.1.2.1 Configuración del fichero domain.xml ...................................................................................... 36 7 Configuración del fichero host.xml .......................................................................................................... 38 7.1.1.1 Configuración de la interface de administración ...................................................................... 39 7.1.1.2 Configuración de la interface de red ........................................................................................ 39 7.1.1.3 Configuración del Controlador de Dominio .............................................................................. 40 7.1.1.4 Configuración de la JVM .......................................................................................................... 40 7.1.1.5 Añadir opciones nuevas a la JVM para un servidor ................................................................. 41 7.1.1.6 Configuración instancias (server nodes) .................................................................................. 41 8 Clusterización ............................................................................................................................................. 42 8.1.1 Cluster de servidores en modo domain .................................................................................... 42 8.1.1.1 Configuración del Dominio ....................................................................................................... 44 8.1.1.1.1 Configuración de interfaces en el servidor AS7 maestro ................................................... 44 8.1.1.1.2 Configuración de interfaces en el servidor AS7 esclavos .................................................. 45 8.1.1.1.3 Configurar la seguridad ....................................................................................................... 46 8.1.1.2 Arrancar Hosts .......................................................................................................................... 48 8.1.1.3 Despliegue Aplicación .............................................................................................................. 49 8.1.2 Configuración en cluster ........................................................................................................... 57 JBoss AS7: Modo domain 2/77 Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 Índice JBoss AS7: Modo domain 3/77 0 25/01/2013 1 Instalación JBOSS AS 7 Una vez descomprimida la distribución de JBOSS AS7.bat La ejecución de este script creará un único proceso: una única instancia JBOSS AS7 Parando una instancia en modo standalone. y un Controlador de Proceso que se responsabilizará del crecimiento de los otros 4 procesos y la monitorización de su ciclo de vida./domain. JBoss AS7: Modo domain 4/77 . Para trabajar en modo domain. Versión: 1./standalone. Para trabajar en “modo standalone”. se deberá decidir si se quiere trabajar en “modo domain” ó en “modo standalone”. Ver la sección “Modo Domain vs Modo Standalone”. un proceso Controlador de Dominio que actúa como administrador central para el resto de servidores que configurarán el “dominio”. situarse en el directorio bin de $JBOSS_HOME y ejecutar el script “standalone”: En Unix $ cd bin $ .sh Sobre Windows: > cd bin > standalone.sh Sobre Windows: > cd bin > domain. situarse en el directorio bin de $JBOSS_HOME y ejecutar el script “domain”: Sobre Unix: $ cd bin $ . Sistemas Error! Reference source not found.bat La ejecución de este script creará un total de 5 procesos en total: Tres instancias JBOSS AS7. /jboss-cli. JBoss AS7: Modo domain 5/77 .1 in AS7. entonces se puede especificar explícitamente el host y el puerto de la siguiente manera: $ ./jboss-cli.sh --connect controller=<IP>:<port> command=:shutdown Notice that the command was renamed in AS7.0 25/01/2013 Una instancia arrancada en “modo standalone” puede ser parada de las siguientes maneras: Si el servidor fue arrancado desde una consola dos. Si el servidor no usa el puerto por defecto ó no está conectado a “localhost”.sh --connect command=:shutdown "--connect" por defecto se conecta a localhost en el puerto 9999 y lanza el “shutdown”.0 replace the script name jboss-cli by jboss-admin. Desde una nueva consola dos ejecutar el siguiente comando: $ cd bin $ . mediante Ctrl + C parará “limpiamente” el servidor. Versión: 1. Sistemas Error! Reference source not found. el JBOSS AS 7 puede ser ejecutado en “modo standalone”. Es muy importante esta observación porque un grupo de servidores ejecutándose en modo standalone JBoss AS7: Modo domain 6/77 . Por ejemplo.sh. Las instancias en modo standalone pueden ser arrancadas vía los scripts standalone.sh o standalone.1 Decidiendo entre el modo Domain y Standalone.5. Si se tienen varias instancias arrancadas en” modo standalone” y se quiere que formen un entorno multiservidor.4. En algunos casos. no es necesario tener centralizado una granja de servidores que configuran un “dominio”. al igual que se hacía con instancias de JBoss 3. Una instancia arrancada en modo standalone es un proceso independiente. Cuando se arranca un JBoss AS en modo "domain" (ejecutando scripts domain. El Controlador de Host de cada host interactúa con el Controlador de Dominio para controlar el ciclo de vida las instancias ejecutándose sobre su host y para asistir al Controlador de Dominios a manejarlas.bat) se crea un Controlador de Dominio. parar el proceso. Todas las instancias comparten la misma política de control y el Controlador de Dominio asegura que cada instancia está configurada de acuerdo a esa política.bat. La permutualidad entre modos una vez arrancada una instancia no es posible. Par estos casos.sh o domain. o 6. un Controlador de Host y como mínimo una instancia JBoss AS 7. La idea es tener un grupo de instancias JBoss AS 7 formando parte de un “dominio” con un único proceso Controlador de Dominio actuando como un centro de control central. Modo Standalone Una de las nuevas características de JBoss Application Server 7 es la posibilidad de controlar múltiples instancias JBoss AS 7 desde un único punto de control.5 y 6. Esta diferencia es particularmente importante cuando se va a trabajar con clústeres configurados en alta disponibidad. Los “dominios” pueden estar compuestos por múltiples máquinas físicas ó virtuales con todas las instancias sobre un host dado bajo el control de un proceso Controlador de Host.4. es responsabilidad del usuario su administración y coordinación.0 25/01/2013 2 Modo Domain vs. Sistemas Error! Reference source not found. La diferencia entre los modos domain y standalone radica en la manera en que los servidores serán manejados.sh 2. Versión: 1. y ejecutar el script standalone. no se puede ejecutar el script domain. Es perfectamente posible construir un entorno multiservidor utilizando instancias arrancadas en modo “standalone” formando todas ellas un cluster HA. semejante a las instancias de JBoss 3.1. no en las capacidades que tienen para servir requerimientos de usuario. Versión: 1. Los modos domain y standalone determinan como los servidores serán administrados.0 25/01/2013 podrían ser configurados para formar un cluster HA. JBoss AS7: Modo domain 7/77 . Sistemas Error! Reference source not found. no las capacidades que pueden proporcionar. 0 25/01/2013 3 Contenido de la distribución AS 7. Lo primero que se observa es que el sistema de ficheros está dividido en dos partes principales: servidores standalone y servidores domain.… docs – Este directorio no contiene documentación sobre el servidor. Arranque.xml puede reportarnos que versiones forman parte de las librerías del servidor.0.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4. Versión: 1.CR2 de Hibernate en su núcleo de librerías.CR2</version> <licenses> <license> <name>GNU Lesser General Public License</name> JBoss AS7: Modo domain 8/77 . Sistemas Error! Reference source not found. Un vistazo rápido al fichero licenses. JBoss AS 7 incluye la versión 4. <dependency> <groupId>org. La distribución JBOSS AS 7 incluye los siguientes directorios: bin – localización de los scripts del servidor. Tiene dos subdirectorios: el primero llamado licenses contiene las licencias para el servidor y todas sus dependencias.0.0. Por ejemplo.0. standalone . Su estructura es bastante similar al directorio “domain” con la excepción de un directorio de despliegue.org/license for more details. domain – Contiene la estructura para el modo “domain”.AS 7 está basado en la arquitectura de Carga de Clases modular. las cuales forman parte de la distribución del servidor.html</url> <distribution>repo</distribution> <comments>See discussion at http://hibernate.xml el cuál es usado para definir aspectos de administración del dominio.xml el cuál contiene los servicios los cuales son usados por los nodos que forman el dominio.1. Algunas de las aplicaciones desplegadas pueden acceder a este directorio para incluir librerías las cuales pueden ser accedidas por el cargador local de clases. welcome-content – Contiene la página por defecto la cuál será cargada cuando desde un visor se invoca al servidor JBoss AS7 (http://localhost:8080). Versión: 1. Otro fichero importante es host. configuration – Contiene ficheros de configuración.Alberga el subdirectorio ext.0 25/01/2013 <url>http://www. content – Es usado como repositorio para almacenar módulos desplegados. El ultimo fichero es logging. El principal es domain.. modules -. Este directorio alberga el conjunto de librerías del servidor. Es el Web root context. el cual es creado para almacenar las extensiones Java SE/EE.gnu.org/licenses/lgpl-2.1. Sistemas Error! Reference source not found. 3. lib..1 Contenido del directorio "domain" Relevante solamente en modo domain. no obstante esta práctica no es recomendable y es mantenido JBoss AS7: Modo domain 9/77 .xsd los cuales son usados como patrones de configuración.</comments> </license> </licenses> </dependency> El otro subdirectorio llamado schema contiene ficheros .properties el cuál es usado para definir el formato de logging del proceso bootstrap (arranque del servidor). También contiene la configuración de las interfaces socket-binding para todos los servicios.Contiene la estructura el modo “standalone”. data – información escrita por el servidor para almacenar sus datos en tiempo de ejecución. Versión: 1. log – en él se albergan el log de salida del dominio.1.xml el cuál es usado cuando AS 7 es arrancado en modo “standalone” Además del fichero standalone. Cada subdirectorio a su vez contienen los siguientes subdirectorios: data -. que es creado cuando el servidor es arrancado por primera vez.0 25/01/2013 únicamente por conformidad con las especificaciones del lenguaje. JBoss AS7: Modo domain 10/77 . EAR. Cada instancia AS 7 tiene su propio subdirectorio. por ejemplo transaction logging.xml.properties. deployments – en esta carpeta es donde se ubica el contenido de usuario a desplegar y que será desplegado una vez detectado automáticamente. configuration -. transaction logging). pueden usar la API de administración del JBoss AS7 para actualizar y desplegar el contenido desplegable en vez de esperar a que el subsistema de despliegue escanee periódicamente el directorio de despliegue.El fichero principal es standalone. Los usuarios. 3. ficheros WAR. tmp – ficheros temporales escritos por el servidor.properties. Sistemas Error! Reference source not found.información escrita por el servidor para almacenar sus datos en tiempo de ejecución (por ejemplo. JAR. El “modo domain” no soporta el despliegue de contenido basado en el escaneado de un sistema de ficheros. por defecto. usado para securizar la interface de administración. SAR ) para que sean desplegados automáticamente por el servidor en tiempo de ejecución. servers – su contenido es actualizado por cada instancia AS 7. Directorio en el cual los usuarios pueden almacenar su contenido desplegable (por ejemplo. particularmente en entornos de producción.2 Contenido del directorio "standalone" Relevante solamente en modo standalone. El fichero. Otro fichero importante es mgmt-users. el cual es usado para controlar la traza del proceso de arranque. el directorio contiene el fichero logging. El directorio modules debería ser único y el único para albergar librerías de usuario. es truncado cada vez que el servidor es reiniciado. JBoss AS7: Modo domain 11/77 . Versión: 1. El fichero de log por defecto llamado server. Sistemas Error! Reference source not found. Las mismas consideraciones hechas para el subdirectorio domain. log – Contiene los logs para la instancia standalone del servidor. es truncado cada vez que el servidor es arrancado.log.0 25/01/2013 lib – Contiene el subdirectorio ext. el cuál es usado para definer extensions del servidor. tmp – usado por Virtual File System del JBOSS como almacenamiento temporal.lib son válidas aquí. dir" path="myserver.jboss. son almacenadas en el directorio JBOSS_HOME/modules. Cada extensión es detectada por el cargador de clases del servidor en tiempo de arranque antes de realizar cualquier despliegue. 4.Extension.server. <extensions> <extension module="org. Tiene una Modules that are qualified as Extensions contain in the META_INF/services folder a placeholder file named org.infinispan"/> <extension module="org.1. El siguiente ejemplo.2 Paths Un <path name> es un nombre lógico para los paths del sistema de ficheros. el cuál es traducido por servidores standalone en JBOSS_HOME/standalone/log/mylogdir.dir"/> </paths> Este path puede ser referenciado en otras secciones del fichero de configuración.as. Por ejemplo.jboss.messaging"/> </extensions> El servidor detecta que un módulo es una extension escaneando el directorio META_INF/services de la librería.ejb3.subsystem. define una path relativo para el directorio log del servidor AS llamado log. Si no es incluido en la configuración de path. Versión: 1.dir. Como los módulos estándar.as.log"/> </periodic-rotating-file-handler> NOTA: la propiedad relative-to no es un mandato.clustering. Este fichero declara simplemente el nombre de la extensión. Las extensiones pueden ser vistas como un tipo especial de módulo los cuales son usados para ampliar las funcionalidades del servidor.1.as. JBoss AS7: Modo domain 12/77 . EJB3Extension. Para el subsistema EJB3. el path es tratado como un path absoluto. contendrá org.log.as. podemos usarlo como directorio para el almacenamiento del “logging rotating file handler”: <periodic-rotating-file-handler name="FILE" autoflush="true"> <file relative-to="log. Por ejemplo.jboss.1 Extensiones El servidor contiene una lista de módulos básicos llamados extensiones. <paths> <path name="log.dir" path="mylogdir" relative-to= "jboss. Sistemas Error! Reference source not found.jboss. los cuales son compartidos por todos los servicios.0 25/01/2013 4 Conceptos Generales A continuación se estudian conceptos comunes a los modos “Domain” y “Standalone” 4.controller. .dir Directorio de trabajo para el usuario en curso java.home Directorio raíz de la distribución JBoss AS user..0 25/01/2013 Path Meaning jboss. no con weblogic) consola de administración. La nativa interface CLI se ejecuta en el puerto 9999. user.1. Por ejemplo.server.servers. <socket-binding-group name="standard-sockets" default-interface="public"> .dir Directorio de almacenamiento de ficheros temporales jboss.dir Directorio raíz para una instancia individual del servidor jboss. </socket-binding-group> 4.. <socket-binding name="management-native" interface="management" port="9999"/> <socket-binding name="management-http" interface="management" port="9990"/> .log.base.. mientras que la consola escucha en el puerto 9990..server..domain.dir Directorio bajo el cual un Controlador de Host creará el área de trabajo para instancias individuales del servidor 4.dir Directorio de almacenamiento de ficheros de log jboss.3 Interface de Administración Una característica nueva es su potente (sobretodo si se compara con versiones anteriores.server. Sistemas Error! Reference source not found.1.home Directorio instalación del Java jboss....dir Directorio usado por el servidor para almacenar ficheros de datos persistentes jboss. Un profile puede considerarse como un conjunto de subsistemas: cada subsistema en si mismo tiene un subconjunto de funcionalidades usadas por el servidor de aplicaciones.server..tmp.4 Profiles Es uno de los conceptos principales nuevos en JBoss AS 7..home Directorio base de usuario.. Versión: 1. el subsistema Web contiene la definición del conjunto de conectores usado JBoss AS7: Modo domain 13/77 .data. Una configuración “standalone” tiene un único profile que contiene la configuración de un conjunto de subsistemas. Esto significa que.0. 4. Cambiando el valor de “inet-address value”. Una diferencia importante entre los ficheros de configuración estándar “standalone” y “domain” es el número de profiles que contienen.. resuelven la dirección 127. el servidor en modo “standalone” define dos interfaces de red: management y public: <interfaces> <interface name="management"> <inet-address value="${jboss.address:127..1"/> </interface> Si se quiere asociar la network interface a todo el conjunto de direcciones IP disponibles.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.address. por defecto. Ambas..1.…. Por defecto..0.168.0.1}"/> </interface> </interfaces> ----------------------------------------------------------------------------------------------------------------- La “public network interface” usa los servicios del servidor de aplicaciones: <socket-binding-group name="standard-sockets" default-interface="public"> . La configuración “domain” puede proporcionar múltiples profiles. <interface name="public"> <inet-address value="192.bind. se puede usar el elemento <any-address /> : <interface name="public"> <any-address /> </interface> JBoss AS7: Modo domain 14/77 .0. los servicios public y los servicios management están accesibles solamente desde la máquina local.bind.0. Versión: 1. management:127. por defecto.0. el subsistema de mensajería define la configuración JMS y módulos usados por los servidores de mensajes.0 25/01/2013 por el contenedor.. Sistemas Error! Reference source not found. se puede ligar la network interface a otra dirección IP.1. </socket-binding-group> .1.5 Interfaces La sección de interfaces contiene las interfaces de red / Direcciones IP ó nombres de Host a las cuales una aplicación puede ser “asociada”.. la cual está disponible en la máquina. el cual gathers la información de la dirección desde la network card name: <interface name="public"> <nic name="eth0" /> </interface> 4. Versión: 1. Sistemas Error! Reference source not found. Dentro de esta sección se pueden configurar los puertos de red. los cuales serán abiertos y preparados para aceptar conexiones entrantes. value="8090") { "outcome" => "success".6 Socket binding groups Un socket binding es el nombre dado a un socket.0 25/01/2013 Otra variación muy usada de la network interface es el elemento Network Interface Card (NIC). "process-state" => "reload-required" } JBoss AS7: Modo domain 15/77 . Cada socket binding group referencia una network interface a través del atributo default-interface: <socket-binding-group name="standard-sockets" default-interface="public"> <socket-binding name="jndi" port="1099"/> <socket-binding name="jmx-connector-registry" port="1090"/> <socket-binding name="jmx-connector-server" port="1091"/> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8447"/> <socket-binding name="osgi-http" port="8090"/> <socket-binding name="remoting" port="4447"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <socket-binding name="txn-socket-process-idr" port="4714"/> <socket-binding name="messaging" port="5445"/> <socket-binding name=" messaging-throughput" port="5455"/> </socket-binding-group> Se pueden cambiar los puertos a los cuales los servicios están asociados mediante su atributo “port”.1. Es mejor usar las interfaces de administración que realizan de manera inmediata el cambio. "response-headers" => { "operation-requires-reload" => true. se cambia el Puerto por defecto para el conector http usando el CLI: [standalone@localhost:9999 /] /socket-binding-group= standard-sockets/socket- binding=http:write-attribute(name="port". En el siguiente ejemplo. Crear el directorio de instalacion: mkdir –p /home/jboss/dominios/TCORP 5.0 25/01/2013 5 Configurando JBoss AS7 en modo Standalone 5./add-user.1.2.1. Sistemas Error! Reference source not found. tanto a nivel se un solo nodo como a nivel de Cluster.1 Crear la estructura de directorios: La instalacion del software base de Jboss se hace dercomprimiendo el zip jboss-eap-6.jboss.1. Versión: 1. se puede descargar el zip de http://www.1 Introduccion: En esta sección veremos como hay que instalar y configurar el Jboss.1/bin/ y ejecutar el script .properties) (a): a seleccionar “a” Enter the details of the new user to add. 5.properties) b) Application User (application-users.zip en el home del usuario /home/jboss.0. Para separar el software base de la instalacion creamos la estructura de directorios siguiente. JBoss AS7: Modo domain 16/77 .2.sh What type of user do you wish to add? a) Management User (mgmt-users.2 Configuración de un solo nodo: 5.1.1.2 Crear el usuario administrador: Ir a /home/jboss/jboss-eap-6.org. cada vez que se crea un usuario nuevo o se modifique la clave hay que copiar este fichero al directorio correspondiente de la instalacion y reiniciar. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls. Versión: 1. would you like to update the existing user password and roles Is this correct yes/no? yes Password : poner la clave al final meter un “.properties' Is this new user going to be used for one AS process to connect to another AS process? e.1/standalone/configuration/mgmt- users. yes/no? yes To represent the user add the following to the server-identities definition <secret value="YWRtb24xMTE7" /> Nota: el fichero donde se escribe el usuario en el fichero mgmt-users.g.1/domain/configuration/mgmt- users.1. Username : administrador nombre del administrador User 'administrador' already exits. nuestro caso es /home/jboss/ dominios/TCORP/TCORP-MAQUINA1-A/standalone/configuration 5.0 25/01/2013 Realm (ManagementRealm) : ManagementRealm Muy impottante Poner “ManagementRealm” sino. Sistemas Error! Reference source not found.1/standalone /home/jboss/dominios/TCORP Los scripde arranque estan: /home/jboss/Scripts_sistemas JBoss AS7: Modo domain 17/77 .1/standalone/configuration. cp -R /home/jboss/jboss-eap-6.” Re-enter Password : Updated user 'administrador' to file '/homejb/jboss-eap-6. no funciona la clave.” por ejemplo “admonMAQUINA1.2.properties' Updated user 'administrador' to file '/homejb/jboss-eap-6.properties en /home/jboss/jboss-eap-6.3 El directorio instalación: Copier el directorio standalone al directorio de la instalación. 0_45 #El home de la VM java export JBOSS_HOME=/home/jboss/jboss-eap-6. si esta no la arranca y saca un mensaje de que ha esta arrancara.5.apache.es:8080/" la url de servicio echo "-El log es --> /home/jboss/dominios/TCORP/TCORP-MAQUINA1-A/standalone/log/server.49 -Djboss.sh export JAVA_HOME=/usr/java/jre1. APPJAVA="TCORP-MAQUINA1-A" PORTSAG=9990 # Puerto de la consola http://maquina1.0 25/01/2013 5.parser.el. -Djboss.address.7.xml -Djboss.1 #El home del Jboss # Se comprueba si la intancia ya esta arrancada.server. --server-config: Aquí se esoecifica el modo de arranque si en solo standaline.bind. es para acceder a la consola de admistracion del Jboss.address=89.4 El scrip de arranque es como siguiente: vi start-TCORP-MAQUINA1-A.management: Aquí se pone la interfaz de la administración. then echo "Se encuentra una instancia activa de $APPJAVA con PID = $COINCID" echo "Primero debe parar esta instancia para arrancar una nueva" exit fi if [ "$COINCID1" = "$APPJAVA" ].name=TCORP-MAQUINA1-A >> /home/jboss/dominios/TCORP/TCORP-MAQUINA1- A/standalone/log/server.util.address: Aquí se pone la interfaz de servicio es la IP de la maquina. JBoss AS7: Modo domain 18/77 .maq.log" echo $JBOSS_HOME/bin/standalone.encoding=iso-8859-1 -Duser.maq.2.5.Region=ES -Duser.dir=/home/jboss/dominios/TCORP/TCORP-MAQUINA1-A/standalone -Djboss.es:9990/console PID=$(netstat -tuanp | grep -m $PORTSAG | gawk '{ print $7 }' | cut -d "/" -f1) COINCID=$(ps -ef | grep PID|grep -wo "$APPJAVA") COINCID1=$(ps -fu `whoami` | grep java | grep -wo "$APPJAVA"|head -1) export JAVA_OPTS="-Djava.maq. si no esta arrancada la arranca.node. Sistemas Error! Reference source not found. then echo "Se encuentra una instancia activa de $APPJAVA" echo "Primero debe parar esta instancia para arrancar una nueva" exit fi echo echo "-La de la consolaes --> http://maquina1.management=89.timezone=UTC -Dorg.es:9990/console" # La consola de #administración del jboss echo "-La URL de servicio --> http://maquina1.address. -Djboss.Locale=es_ES -Duser.sh --server-config=standalone.1.49 -Djboss.1. full o full-ha.bind.bind.base. ha.log 2>&1 & $JBOSS_HOME/bin/standalone. Versión: 1. el puerto en este caso es 9990.sh: El script utilizado para arrancar el jboss.language=es -Dfile.COERCE_TO_ZERO=false" if [ "$COINCID" != "" ] && [ "$COINCID1" = "$APPJAVA" ].1. en este caso el puerto de servicio es 8080.bind. binding.5 Utilizar el parámetro offset: Para tener más de una instancia de jobos en la misma máquina en las anteriores había que configurar varios ficheros.log" echo $JBOSS_HOME/bin/standalone.address.49 -Djboss. .1 echo echo "-----.dir=/home/jboss/dominios/TCORP2/TCORP2-MAQUINA1-A/standalone -Djboss. 5. El scrip de parada es como siguiente: vi stopTCORP-MAQUINA1-A.node.sh export JBOSS_HOME=/home/jboss/jboss-eap-6.49 -Djboss.sh --server-config=standalone-ha.log 2>&1 & -Djboss. en esta caso es: /home/jboss/dominios/TCORP/TCORP-MAQUINA1-A/standalone -Djboss.es:10190/console" echo "-La URL de servicio --> http://maquina1.socket.name: Nombre de la instancia Jboss.port-offset=200 >> /home/jboss/dominios/TCORP2/TCORP2-MAQUINA1-A/standalone/log/server.base.1.sh --connect controller=89.xml -Djboss.49:9999 command=:shutdown controller: se pone la IP de la maquina.5.es:8280/" echo "-El log es --> /home/jboss/dominios/TCORP2/TCORP2-MAQUINA1-A/standalone/log/server.1.server.address=89.5.bind. .management=89.base. Versión: 1.bind.maq.2.1. como se muestra en el script de arranque siguiente: . en esta versión ya no hace falta configurar tanto ficheros.server.node. Sistemas Error! Reference source not found.binding.1. Nota: todos esto parámetros tienen que estar en la misma línea.5.port-offset=200 en este caso: Se añade 200 al 8080 el puesto de servicio pasaría a 8280 Al 9090 se añade 200 el puerto de la interface de administración pasaría a 9290 JBoss AS7: Modo domain 19/77 . lo que lo ponía un poco tedioso. solo hay que configurar el parámetro offset le ponemos un número y este se irá añadiendo a los puertos por defecto por ejemplo al 8080 y al 9090.PARANDO TCORP-MAQUINA1-A ----" echo $JBOSS_HOME/bin/jboss-cli.name=TCORP2-MAQUINA1-A -Djboss. .socket.0 25/01/2013 -Djboss. echo echo "-La de la consolaes --> http://maquina1.dir: Directorio donde de la instalacion de la instancia Jboss.maq. sh 5./start-TCORP-MAQUINA1-A.6 Arrancar de la instancia del jboss: Para arrancar el Jboss se ejecuta el script . Versión: 1.1.) JBoss AS7: Modo domain 20/77 .2.0 25/01/2013 5.2.1. Sistemas Error! Reference source not found.7 La consola de administración: Sale un ventana donde pide usuario y clave (admin/admin001. 8 Despliegue del driver oracle: Como el driver de oracle no se detecta automáticamente se realiza como un despliegue normal de una aplicación.0 25/01/2013 5.1. Versión: 1.2. JBoss AS7: Modo domain 21/77 . Sistemas Error! Reference source not found. no sale la ventana de Create Deployment JBoss AS7: Modo domain 22/77 .0 25/01/2013 Seleccionamos modo Runtime-> Manage Deployment y pulsamos Add. Versión: 1. Sistemas Error! Reference source not found. Pulsar Next JBoss AS7: Modo domain 23/77 .0 25/01/2013 Pulsamos Examinar luego seleccionamos el fichero a desplegar conde lo hayamos dejado en nuestro PC y pusamos Abrir. Sistemas Error! Reference source not found. Versión: 1. Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 Pulsar Save En principio el despliegue esta desabilitado ha y qu abilitarlo: Pulsar En/Disable JBoss AS7: Modo domain 24/77 . 0 25/01/2013 Pulsamos Confirm El resultado final JBoss AS7: Modo domain 25/77 . Versión: 1. Sistemas Error! Reference source not found. 0 25/01/2013 5. Versión: 1.2. Sistemas Error! Reference source not found.9 Configuración del JDBC: Ir a Profile -> Subsystems -> Datasources y pulsar Add Meter el nombre del Datasource.1. el JNDI y Pulsar Next JBoss AS7: Modo domain 26/77 . Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 Seleccionar el driver Meter los datos la URL.es:1524:TCORPDS3 JBoss AS7: Modo domain 27/77 .maquina2. usuario y clave.maq. aquí hay un ejemlpo de una url: jdbc:oracle:thin:@tcorpdes3. 0 25/01/2013 Activar el Datasource seleccionar el datasouce y pulsar Enable Situacion final Testear el Datasource: Connector -> Test Connection JBoss AS7: Modo domain 28/77 . Sistemas Error! Reference source not found. Versión: 1. Versión: 1. Sistemas Error! Reference source not found.0 25/01/2013 JBoss AS7: Modo domain 29/77 . Versión: 1. Sistemas Error! Reference source not found.0 25/01/2013 Borrar el Datasource: Seleccionar el Datasource y Pulsar Confirm JBoss AS7: Modo domain 30/77 . Versión: 1.1/standalone dominios/TCORP/TCORP-MAQUINA1-A jboss@MAQUINA1:~> cp -R jboss-eap-6.3. Sistemas Error! Reference source not found.0 25/01/2013 5.xml.1 En la misma máquina: jboss@MAQUINA1:~> mkdir -p dominios/TCORP/TCORP-MAQUINA1-A jboss@MAQUINA1:~> mkdir -p dominios/TCORP/TCORP-MAQUINA1-B jboss@MAQUINA1:~> cp -R jboss-eap-6.1/standalone dominios/TCORP/TCORP-MAQUINA1-B JBoss AS7: Modo domain 31/77 . Crear la estructura de dominios: 5. ósea en modo standalone.1.3 Configuration en modo cluster Tanto en la misma máquina como en dos maquinas independientes el cada nodo se configure independiente como en el apartado anterior.1. la principal diferencia están en el modo de arranque ya que el fichero que se utiliza en modo cluster es el standalone-ha. 1. then echo "" echo " Se encuentra una instancia activa de $APPJAVA" echo "" echo " !!! Primero debe parar esta instancia para arrancar una nueva !!!" echo "" exit fi JBoss AS7: Modo domain 32/77 . then echo "" echo " Se encuentra una instancia activa de $APPJAVA con PID = $COINCID" echo "" echo " !!! Primero debe parar esta instancia para arrancar una nueva !!!" echo "" exit fi if [ "$COINCID1" = "$APPJAVA" ]. PORTSAG=9990 # Puerto de la consola http://sc1108.0 25/01/2013 5.sscc.aena.es:9990/console PID=$(netstat -tuanp | grep $PORTSAG | gawk '{ print $7 }' | cut -d "/" -f1) COINCID=$(ps -ef | grep PID|grep -wo "$APPJAVA") COINCID1=$(ps -fu `whoami` | grep java | grep -wo "$APPJAVA"|head -1) if [ "$COINCID" != "" ] && [ "$COINCID1" = "$APPJAVA" ].1 APPJAVA="GSV-SC1108-A" # Comprobar si el proceso esta arrancado.3.2 En maquinas diferentes: jboss@sc1108:~> mkdir -p dominios/GSV/GSV-SC1108-A/ jboss@sc1108:~> cp -R jboss-eap-6. Sistemas Error! Reference source not found. Versión: 1.sh export JAVA_HOME=/usr/java/jre1.1/standalone/ dominios/GSV/GSV-SC1108-A/ start-GSV-SC1108-A.0_25 export JBOSS_HOME=/home/jboss/jboss-eap-6.6.ae. address.aena.xml ya que es en modo cluster. Versión: 1.bind.address=230.name=GSV-SC1108-A -Djboss.70 donde se especifica el la IP multicast.es:9990/console" echo "-La URL de servicio --> http://sc1108.0 25/01/2013 echo echo "-La de la consolaes --> http://sc1108.es:8080/" echo "-El log es --> /home/jboss/dominios/GSV/GSV-SC1108-A/standalone/log/server. Sistemas Error! Reference source not found.management=89. -Djboss.aena.0.0. JBoss AS7: Modo domain 33/77 .address=230. esta ip tiene que ser unica en toda la red.1.address=89.base.197 -Djboss.70 >> /home/jboss/dominios/GSV/GSV-SC1108-A/standalone/log/server. standalone-ha.xml -Djboss.multicast.xml donde se especifica el fichero con el que hay que arrancar.0.0.sh --server-config=standalone-ha.6.sscc.dir=/home/jboss/dominios/GSV/GSV-SC1108-A/standalone -Djboss.sscc.ae.197 -Djboss.log" echo $JBOSS_HOME/bin/standalone.bind.1.6. por ejemplo la red 89.multicast.ae.node.default.default.server.log 2>&1 & --server-config=standalone-ha. El Controlador de Host es responsable del arranque y parada de los procesos individuales de las aplicaciones que corren sobre su host. Por ejemplo. Sistemas Error! Reference source not found. y manejar sus canales de entrada/salida. Versión: 1. 2. y el tercero (inactivo) es parte de other server group. Application server nodes: Son procesos regulares Java que mapean las instancias del servidor de aplicaciones.1 Introducción.1. por sí mismo no controla la carga de trabajo del servidor de aplicaciones. Un dominio está formado por cuatro elementos: 1. Los dos primeros componen el main server group. la cual es compartida por los nodos pertenecientes al dominio. Por el contrario. se podría configurar un dominio de servidores ejecutándose en cluster. Básicamente un dominio es una unidad administrativa. Un Controlador de Host que actúa sobre el Controlador de Dominio. Domain controller: El Controlador de Dominio es el punto de administración del dominio. proporcionado balanceo de carga. Una instancia AS ejecutándose en modo dominio tendrá como máximo un proceso de la instancia actuando como Controlador de Dominio. En términos muy generales es un perímetro dentro del cual todos los servidores JBoss AS son administrados por un Controlador de Dominio. 4. La diferencia entre estos dos escenarios es que en modo “dominio” podemos administrar el grupo de servidores desde un único servidor. un punto centralizado. Pero también podríamos tener los mismos servicios con un grupo de servidores configurados en modo “standalone”. Host controller: El Controlador de Host está estrechamente relacionado con la administración del servidor (Controlador de Dominio). en modo “standalone” la administración de los servidores a menudo requiere de técnicas muy sofisticadas de administración multi-servidor las cuales no siempre son asumibles por las compañías ó una administración dirigida a cada servidor. Tres nodos de servidor. El Controlador de Dominio mantiene una configuración centralizada. JBoss AS7: Modo domain 34/77 . La configuración de dominio incluye básicamente the domain configuration includes a basic configuration made up of the following elements: Un Controlador de Proceso arranca el resto de procesos JVM. e interactúa con el Controlador de Dominio para manejarlos. y alta disponibilidad.0 25/01/2013 6 Configurando JBoss AS 7 en modo Domain 6. El concepto de dominio no debe interferir con las capacidades proporcionadas por los servidores. Process controller: son procesos ligeros cuya función principal es crear procesos de servidor y procesos de controlador de host. 3. El fichero domain.bat --domain-config=custom_domain.sh --domain-config=custom_domain.xml domain. se crean algunos ficheros de log. 6. Sobrescribiendo los ficheros de configuración Es posible cambiar el nombre de los ficheros de configuración y su path: domain. mientras los logs del Control de Proceso será almacenado JBOSS_HOME\domain\log\process-controller. 2.xml JBoss AS7: Modo domain 35/77 .bat)./domain.sh o domain.bat --host-config=custom_host.1.xml El equivalente en Linux será: . La actividad (traza) del Controlador de Host será almacenada JBOSS_HOME\domain\log\host-controller.. Versión: 1.0 25/01/2013 Una vez que el servidor en modo dominio esta arrancado (domain. El fichero host.2 Configurando el dominio La configuración del modo “domain” lo configuran principalmente dos ficheros que están localizados por defecto en el directorio JBOSS_HOME\domain\configuration: 1.xml está presente en cada host donde el dominio está instalado y especifica los elementos que son específicos a los servidores ejecutándose sobre el host.xml describe las características de los servidores de dominio y definen los server groups que son parte del domino. Sistemas Error! Reference source not found. Cada dominio de servidores puede ser dividido en server groups. interfaces socket bindings . se asume relative al directorio jboss. tales como ajustes para la JVM. En otro caso.config. cada server group puede definir sus propias características. cada uno asociado a profiles diferentes. con una lógica e importante diferencia: un dominio puede tener varios profiles.2.server. o aplicaciones desplegadas. los cuales pueden ser aplicados a un server group: JBoss AS7: Modo domain 36/77 . La siguiente figura muestra algunos atributos comunes. Versión: 1. 6.xml Nota. son definidos dos profiles: default profile y ha profile (utlizado en la configuración de cluster en modo dominio). El concepto de server groups puede ser entendido como un grupo de servidores pertenecientes a un dominio administrados como una simple unidad. No obstante.xml El fichero domain./domain.0 25/01/2013 . se toma como un path absoluto.dir.sh --host-config=custom_host.1. Los server groups pueden ser utilizados para optimizar la configuración de nodos. Sistemas Error! Reference source not found.si no se proporciona un path. El contenido de este fichero sigue la misma estructura del fichero standalone. por ejemplo.xml contiene la configuración de todos los subsistemas que son compartidos por todos los servidores del dominio.1 Configuración del fichero domain. Por defecto.. es posible definir un profile propio en el fichero del mismo modo que el web profile ó el profile de mensajería. Versión: 1. una optimización para la JVM.war_v1" runtime-name="sample. algunas properties (las cuales son cargadas en tiempo de arranque) y asocia sus servicios a standard-sockets.war. <server-group name="custom-server-group" profile="default"> <deployments> <deployment name="sample.war" hash="ABCDEFG1234567890ABC"/> </deployments> <jvm name="default"> <heap size="512m" max-size="1g"/> </jvm> <socket-binding-group ref="standard-sockets"/> <system-properties> <property name="foo" value="bar" boot-time="true"/> <property name="key" value="value" boot-time="true"/> </system-properties> </server-group> JBoss AS7: Modo domain 37/77 .0 25/01/2013 A continuación se muestra una definición de server group asociado a un profile tipo default en el cual puede observarse una aplicación desplegada llamada simple. Sistemas Error! Reference source not found. El termino host aquí se refiere a una estructura física que forma parte de un dominio el cual está contenido de una misma distribución AS. JBoss AS7: Modo domain 38/77 .0 25/01/2013 7 Configuración del fichero host. Versión: 1.xml Esta localizado en el directorio JBOSS_HOME\domain\configuration. Sistemas Error! Reference source not found. Básicamente define y configura las instancias de servidor (server nodes) que están ejecutándose en un host que forma parte de un dominio. se deben añadir los siguientes grupos de elementos de dominio: Las interfaces de administración usadas para administrar el dominio. Por ejemplo. Sin embargo. other server group). Por defecto el servidor tiene definidas dos interfaces de red: management y public respectivamente. El termino host puede tomarse como máquina.1 Configuración de la interface de administración La interface de administración incluye la definición de la Command Line Interface (CLI) y la interface http usada para administrar el dominio: <management-interfaces> <native-interface security-realm="ManagementRealm"> <socket interface="management" port="9999"/> </native-interface> <http-interface security-realm="ManagementRealm"> <socket interface="management" port="9990"/> </http-interface> </management-interfaces> 7.2 Configuración de la interface de red Una network interface se refiere a una o un grupo de direcciones.1. mientras un server group es simplemente una asociación lógica de varios nodos que pueden estar ubicados en cualquier sitio.1.1. Configuraciones para JVM.1. Los servidores que forman parte del dominio. Para completar la definición de hosts. un host se refiere a un conjunto de nodos (instancias) que son parte de la misma distribución AS. y ambas asociadas la dirección (127. simplemente se usa la siguiente configuración: <interfaces> <interface name="management"> <inet-address value="127. se pueden instalar varias distribuciones AS en la misma máquina de tal manera que tendríamos múltiples host en la misma máquina.1"/> </interface> <interface name="public"> <inet-address value="192.1.1. host2) y también varios grupos. Definición del Controlador de Dominio Las Interfaces de Red donde los services son asociados.0 25/01/2013 Según la figura. Sistemas Error! Reference source not found. Esto no siempre es verdad. 7.0. Cambiado este valor de la interface de red.0.0. se puede configurar la dirección de escucha para el servidor.1.168.168.1 y la interface pública a la dirección 192.1"/> JBoss AS7: Modo domain 39/77 . si se instala una distribución de AS por máquina. Versión: 1.0. un dominio puede contener varios hosts (host1. (main server group.1).0. si se quiere asociar la interface de administración a la dirección 127.0. 3 Configuración del Controlador de Dominio Por defecto.xml donde pueden ser configurados y asociarlos a un nombre: <jvms> <jvm name="default"> <heap size="64m" max-size="512m"/> </jvm> </jvms> Esta definición de la JVM puede se usada (y sobrescrita) como parte de la configuración de un server group. redefiniendo el atributo heap max-size: <server-group name="other-server-group" profile="default"> <jvm name="default"> <heap max-size="512m"/> </jvm> JBoss AS7: Modo domain 40/77 .0.4 Configuración de la JVM Los atributos de la JVM están en el fichero host.1" port="9999"/> </domain-controller> Configurar el Controlador de Dominio en un host remoto significa que la configuración local (domain.1. <domain-controller> <local/> </domain-controller> No obstante.0.1. Sistemas Error! Reference source not found.1.168.168.100.. el server group other-server-group (domain.0 25/01/2013 </interface> </interfaces> Lo que esto significa en la práctica es que las interfaces de administración (la consola de administración http y la CLI) serán asociadas a la dirección 127.xml) usará los atributos de la JVM default para todas las instancias de servidor.1. Versión: 1.1. Por ejemplo. mientras que los servicios relacionados de aplicación (asociados a la interface publica) serán ligados la dirección IP 192.. se puede configurar un host para usar un Controlador de Dominio ubicado en un host remoto: <domain-controller> <remote host="192.1. <socket-binding-group name="standard-sockets" default-interface="public"> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8443"/> .. 7.. el controlador de dominio está ubicado en la misma máquina donde se arrancó el dominio.1.xml) no será usada y todos los servidores usarán la configuración centralizada almacenada en el host remoto. </socket-binding-group> 7. Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 <socket-binding-group ref="standard-sockets"/> </server-group> La definición de una JVM también puede ser asociada a una instancia en particular, de tal manera que se sobrescriba la definición del server group. Por ejemplo, server- one (definido en host.xml) hereda la configuración default JVM, actualizando los atributos custom min (512 MB) y max heap size (1 GB): <server name="server-one" group="main-server-group" auto-start="true"> <jvm name="default"> <heap size="512m" max-size="1G"/> </jvm> </server> 7.1.1.5 Añadir opciones nuevas a la JVM para un servidor Si se quiere añadir opciones especiales (no-estándar) a la configuración de la JVM, se realiza utilizando el elemento jvm-options. Por ejemplo, añadimos a la configuración default JVM la opción low-pause garbage collector: <jvm name="default"> <heap size="64m" max-size="128m"/> <jvm-options> <jvm-option value="-XX:+UseConcMarkSweepGC"/> </jvm> 7.1.1.6 Configuración instancias (server nodes) El último elemento en la configuración del host incluye la lista de servidores que forman parte del dominio. La configuración de un servidor requiere, como mínimo, el nombre del servidor y el grupo al cual el servidor pertenece: <!-- host.xml configuration file --> <servers> <server name="server-one" group="main-server-group" /> </servers> La configuración de un servidor está compuesta por un amplio conjunto de atributos estándar. No obstante, se pueden optimizar los servidores añadiendo paths específicos, socket binding interfaces, system properties, o JVMs. <server auto-start="true" name="sample" group="sample-group" > <paths> <path name="example" path="example" relative-to="jboss.server.log.dir"/> </paths> <socket-binding-group port-offset="250" ref="standard-sockets"/> <system-properties> <property boot-time="true" name="envVar" value="12345"/> </system-properties> <jvm name="default"> <heap size="256m" max-size="512m"/> </jvm> </server> JBoss AS7: Modo domain 41/77 Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 8 Clusterización En versiones anteriores de JBoss las librerías características del cluster estaban empaquetadas dentro de la configuración all del servidor, la cual estaba separada del resto de configuraciones por defecto. En AS 7 no existen diferentes configuraciones (librerías + ficheros de configuración) de servidor. Todo lo que hay que hacer para crear un nuevo profile es crear un nuevo fichero XML de configuración asociado. El modo standalone usa un único profile, definido en el fichero de configuración (standalone-ha.xml), el cual contiene todos los subsistemas para la clusterización. El modo domain puede usar múltiples profiles definidos en el fichero domain.xml, los cuales pueden ser usados por servidores en modo domain clusterizados y no clusterizados. Un error muy común de concepto es equiparar el concepto de domain a un cluster de nodos, de tal manera que podría ser usado para aportar importantes características como el balanceo de carga o la alta disponibilidad. El modo dominio no tiene nada que ver con las funcionalidades que una aplicación necesite. Está orientado al concepto de administración del servidor de tal manera que puede ser usado con aplicaciones preparadas para funcionar en cluster y con aplicaciones que no lo estén. El modo domain y el Cluster no son mutuamenete excluyentes y a menudo forman parte del mismo escenario. En esta sección se van a describir las diferentes maneras de montar y arrancar un cluster de servidores en modo standalone y en dominio. 8.1.1 Cluster de servidores en modo domain Vamos a configurar servidores JBoss AS7 en modo dominio trabajando en cluster de tal manera que se tenga HA y replicación de sesión entre los nodos. El AS7 en modo domain (fichero domain.xml) contempla dos profiles uno de ellos para la clusterización: Profile default, puede ser usado para entornos no-clusterizados. Profile ha para entornos clusterizados. Preparación Se necesitan tres host (o virtual host ): master,slave1,slave2 El maestro actuará como Controlador de Dominio: Consola de Administración. Los esclavos serán administrados por el maestro. Asegurarse de que están en la misma red local. JBoss AS7: Modo domain 42/77 Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 Pueden ser accedidos cada uno via TCP/UDP. Habilitar puertos. Escenario Se desplegará la aplicación demo en el dominio, y se verificará que es desplegada por el AS7 maestro (Controlador de Dominio) en los AS7 esclavos: slave1 y slave2. De esta manera comprobaremos que el Controlador de Dominio proporciona un único punto para manejar los despliegues a través de los múltiples AS7 que forman parte del dominio. Se realizarán peticiones URL al cluster y comprobaremos que httpd distribuye las peticiones a uno de los AS7 esclavos del cluster. Con esto comprobamos que el cluster está trabajando correctamente. Realizar una petición al cluster, y si el requerimiento es direccionado al AS7 slave1, entonces “pararemos” el AS7 slave1. Después de esto continuaremos peticionando al cluster y deberíamos ver que los requerimientos son direccionados al AS7 slave2, pero sin pérdida de sesión. La idea es verificar que la HA está trabajando y las sesiones son replicadas. Por último, “arrancamos” de nuevo el AS7 slave1. Deberíamos ver que el AS7 slave1 se reintegra al cluster y que el Controlador de Dominio lo detecta incorporándolo. JBoss AS7: Modo domain 43/77 0.Java EE Web-Profile mas algunas extensions como RESTFul Web Services o soporte para invocación remota EJB3.1}"/> </interface> <interface name="unsecured"> <inet-address value="127.0 25/01/2013 Se tienen dos server groups: main-server-group y other-server-group.1}"/> </interface> <interface name="public"> <inet-address value="${jboss. La IP del AS7 maestro es 89.1" /> </interface> </interfaces> Se debe cambiar la dirección de management interface de tal manera que los AS7 esclavos puedan conectar con el AS7 maestro. Versión: 1.address. La configuración por defecto incluye cuatro profiles preconfigurados: default .bind. Se pueden cambiar los profiles asociados de cada server group y asociarlos a un profile diferente.1.full profile con capacidades de clusterización.management:127.1 Configuración del Dominio 8. La public interface permite que la aplicación pueda ser accedida vía HTTP no local.0.0.1.address.xml en el servidor AS7 master: La configuración por defecto para el elemento interface en el fichero es la siguiente: <interfaces> <interface name="management"> <inet-address value="${jboss.1.241}"/> </interface> JBoss AS7: Modo domain 44/77 .bind.1.management: 0.1.241: <interfaces> <interface name="management"> <inet-address value="${jboss.0.4. y la unsecured interface permite acceso remoto RMI.1.default profile con capacidades de clusterización.4. full-ha .bind.bind. Sistemas Error! Reference source not found.address: 89.1 Configuración de interfaces en el servidor AS7 maestro En esta sección se procede a configurar los AS7 maestro y esclavos para que todos se ejecuten en modo dominio.0. Editar el fichero host.0. También se configurará el AS7 maestror como Controlador de Dominio.1. 8.0}"/> </interface> <interface name="public"> <inet-address value="${jboss.0.0. full .Java EE Full-Profile y todas las capacidades del servidor sin clusterización.address:127. ha . 1. también es necesario configurar la sección de interfaces y hacer visibles las direcciones de los AS7 esclavos: <interfaces> <interface name="management"> <inet-address value="${jboss.1. Sistemas Error! Reference source not found. Editar el fichero host.management:89.bind.address. Se necesita que los AS7 esclavos conecten con el AS7 maestro.237}"/> </interface> JBoss AS7: Modo domain 45/77 .xml de los AS7 esclavos.0 25/01/2013 <interface name="unsecured"> <inet-address value="89.5.241 : <domain-controller> <remote host="89.1.xml de los AS7 esclavos.1.management:89. Versión: 1. Lo primero es borrar el fichero domain.1.address.241" port="9999"/> </domain-controller> Finalmente.17}"/> </interface> <interface name="public"> <inet-address value="${jboss.4.17}"/> </interface> <interface name="unsecured"> <inet-address value="89.bind.2"> <host name="slave2" xmlns="urn:jboss:domain:1.1.4.241" /> </interface> </interfaces> 8.bind.5.5. porque los AS7 esclavos no actuarán como Controlador de Dominio y serán administrados por el AS7 maestro.1.1.17" /> </interface> </interfaces> <interfaces> <interface name="management"> <inet-address value="${jboss.2"> Ahora se modifica la sección domain-controller de tal manera que los AS7 esclavos puedan conectar AS7 maestro cuya IP es 89.4.4.2 Configuración de interfaces en el servidor AS7 esclavos Se procede a configurar las interfaces en los AS7 esclavos.1. Para ello cambiamos la propiedad name: <host name="slave1" xmlns="urn:jboss:domain:1.address: 89. Lo primero configuramos el hostname.1. jboss.as.575 ERROR [org.1.remote] (Remoting "endpoint" read-1) JBREM000200: Remote connection failed: javax.1. Abort Esto es debido a que no está configurada la “autentificación” entre los AS7 maestro y esclavos. Realm (ManagementRealm): Username: admin Password: 123123 Re-enter Password: 123123 The username 'admin' is easy to guess Are you sure you want to add user 'admin' yes/no? yes About to add user 'admin' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'admin' to file ' /home/dssanz/jboss-as-7.SaslException: Authentication failed: all available authentication mechanisms failed [Host Controller] 20:31:24.security.sh el cual se usará para añadir nuevos usuarios al fichero de properties usado para la autentificación del domino: .582 ERROR [org.sh Enter the details of the new user to add./add-user.4.jboss.579 WARN [org.sasl.properties' JBoss AS7: Modo domain 46/77 .1. Sistemas Error! Reference source not found.4.jboss.1.bind.1.241:9999 [Host Controller] 20:31:24.remoting.1. Versión: 1.1.3 Configurar la seguridad Si se arrancan los AS7 maestro y esclavos. se verá que el AS7 no puede arrancar dando el siguiente error: [Host Controller] 20:31:24.as.4.controller] (Controller Boot Thread) JBAS010900: Could not connect to remote domain controller 89.237}"/> </interface> <interface name="unsecured"> <inet-address value="89.1.0 25/01/2013 <interface name="public"> <inet-address value="${jboss. Maestro En el directorio bin hay un script llamado add-user.Final/standalone/configuration/mgmt- users.host.controller] (Controller Boot Thread) JBAS010901: Could not connect to master.address: 89.237" /> </interface> </interfaces> 8.host. properties' Added user 'slave2' to file '/home/dssanz/jboss-as-7.1./add-user.1. Esto significa que para cada adicional host se necesitará un usuario.properties' Acabamos de crear un usuario llamado 'admin' y su password es '123123'.properties' Cada AS7 esclavo usará este usuario para conectarse al AS7 maestro.1.0 25/01/2013 Added user 'admin' to file '/home/dssanz/jboss-as-7.properties' Added user 'slave1' to file '/home/dssanz/jboss-as-7.Final/standalone/configuration/mgmt- users.1. .Final/domain/configuration/mgmt- users.Final/standalone/configuration/mgmt- users. el script add-usr.sh What type of user do you wish to add? a) Management User (mgmt-users. Realm (ManagementRealm): Username: slave2 Password: 123123 Re-enter Password: 123123 About to add user 'slave2' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'slave2' to file ‘/home/dssanz/jboss-as-7.properties' ./add-user. Sistemas Error! Reference source not found. En el resto se usa “Management User” para ambas cuentas: maestro y esclavos.1. Realm (ManagementRealm): Username: slave1 Password: 123123 Re-enter Password: 123123 About to add user 'slave1' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'slave1' to file ‘/home/dssanz/jboss-as-7.1.Final/domain/configuration/mgmt- users.properties) b) Application User (application-user.1.1.1.sh Enter the details of the new user to add. Versión: 1.Final/domain/configuration/mgmt- users. Ahora añadimos otro usuario para los esclavos.sh Enter the details of the new user to add. NOTA: el username debe ser el mismo que el dado a los esclavos en sus respectivos elemento host.properties) (a): JBoss AS7: Modo domain 47/77 . En la últimas versiones de JBoss AS7.sh permite elegir el tipo de usuario. .1./add-user. 241" port="9999" security-realm="ManagementRealm"/> </domain-controller> 8.1.1.Final "Brontes" Esto significa que todo está configurado bien y que además tenemos dos host esclavos + un host maestro corriendo en modo dominio.1.1.371 INFO [org.properties" relative-to="jboss.config. Los nombres de los host esclavos fueron definidos anteriormente como slave1 y slave2.308 INFO [org.xml: <security-realms> <security-realm name="ManagementRealm"> <server-identities> <secret value="MTIzMTIz="/> </server-identities> <authentication> <properties path="mgmt-users.as. JBoss AS 7.0 25/01/2013 Esclavos En los esclavos es necesario configurar la “autentificación” en el fichero host. El valor de la propiedad <secret value> es 'MTIzMTIz='. lo cual es la codificación en base64 para '123123'. 1. Sistemas Error! Reference source not found.as.domain] (domain-mgmt-handler-thread .Final "Brontes" [Host Controller] 16:48:22. 1.1. JBoss AS 7. Si todo ha ido bien en el log del maestro deberíamos de ver la siguiente información: [Host Controller] 16:48:19.dir"/> </authentication> </security-realm> </security-realms> Se ha añadido la sección <server-identities> dentro de la sección <security-realm> la cual es usada en la autentificación del host cuando un esclavo trata de conectarse con el maestro.jboss. y estos mismos nombres deben ser utilizados para acceder al host maestro. También es necesario añadir la propiedad <security-realm>: <domain-controller> <remote host="89.domain] (domain-mgmt-handler-thread .6) JBAS010918: Registered remote slave host "slave2".2 Arrancar Hosts Ahora es el momento de arrancar todos los hosts AS7 maestro + esclavos.4. Este valor se puede generar usando un generador base64. Versión: 1.domain.jboss.5) JBAS010918: Registered remote slave host "slave1". JBoss AS7: Modo domain 48/77 . xml se abilita la replicación de sesión: <web-app> <display-name>Archetype Created Web Application</display-name> <distributable/> </web-app> La página put. Versión: 1. Sistemas Error! Reference source not found.util.1. %> Ysemuestraelvalordelasiguientemanera: The time is set to <%= session.jsp) al cluster (IIS7).sscc.ae. <% System. session. Falta configurar la HA y la replicación de sesión.time".getAttribute("current.Date()). Para desplegar la aplicación en el dominio se realizará vía consola.jsp muestra fecha y hora actual y la asigna a la sesión llamada currenttime. En el fichero web. new java.setAttribute("current. 3) Deberíamos ver que el requerimiento es servido por el otro esclavo (slave1) pero el valor del “current time” debe ser mantenido por la replicación de sesión.3 Despliegue Aplicación Hasta este momento se tienen configurados tres hosts AS7: 1 maestro + 2 esclavos en modo domain. 2) Desconectamos (parar la instancia) el slave2 y lanzamos un requerimiento (get.out. http://sc1034. Para ello se ha programado un aplicación cluster-demo.println( "Putting date now" ).1.war la cual se va a desplegar en el entorno domain previamente configurado.es:9990/console JBoss AS7: Modo domain 49/77 .0 25/01/2013 8.aena.jsp) al cluster (IIS7) y comprobaremos que es servido por un esclavo (supongamos que es el slave2).time") %> La aplicación es muy simple pero va permitir testear el cluster: 1) Realizaremos un requerimiento (put. 0 25/01/2013 Por defecto (en la figura hay una cuarta) hay tres instancias AS7: server-one (inactiva) server-two (inactiva) server-three (inactiva) server-one y server-two pertenecen a main-server-group. Todos estos servers y server groups están configurados en el fichero domain. server-three pertenece a other-server-group.xml en la distribución AS7. Sistemas Error! Reference source not found. Nos interesa other-server-group: JBoss AS7: Modo domain 50/77 . Versión: 1. Sistemas Error! Reference source not found.0 25/01/2013 <server-group name="other-server-group" profile="ha"> <jvm name="default"> <heap size="64m" max-size="512m"/> </jvm> <socket-binding-group ref="ha-sockets"/> </server-group> En las últimas versiones de JBSS AS7. Esta nueva instancia es semejante a la instancia AS7 “server-three”. <server-group name="other-server-group" profile="full-ha> Se ha creado una nueva instancia AS7 “clusterdemo” la cual va a servir de ejemplo a lo largo de este apartado. JBoss AS7: Modo domain 51/77 . Un server-group especifica un conjunto de políticas que serán aplicadas a un grupo de servidores. Partimos de que esta arrancada en todos los servidores. También se ha creado un nuevo server-group: “clusterdemo-server-group”. el profile se ha cambiado a full-ha. Versión: 1. En otras palabras son profiles. Esta instancia AS7 “clusterdemo” debe crearse en los servidores Maestro + Esclavos. Sistemas Error! Reference source not found. Versión: 1.0 25/01/2013 JBoss AS7: Modo domain 52/77 . Versión: 1.0 25/01/2013 Una vez arrancada la instancia clusterdemo en los AS7 maestro y esclavos el siguiente paso es desplegar la aplicación cluster-demo. Para lo cual cliquear en la opción MangeDeployments: JBoss AS7: Modo domain 53/77 . Sistemas Error! Reference source not found.war. Por último cliqueamos en Add to Groups para añadirla al profile clusterdemo-server-group. y seguimos las instrucciones para añadirla al repositorio.war. Versión: 1. JBoss AS7: Modo domain 54/77 . Finalmente cliqueamos Save.0 25/01/2013 Una vez en la página 'Manage Deployments. Seleccionamos la aplicación cluster-demo. cliqueamos en Add Content. Sistemas Error! Reference source not found. 1.1.241:8380 Esclavo 1 http://89. Sistemas Error! Reference source not found.237:8380 JBoss AS7: Modo domain 55/77 .4. Versión: 1.4. Maestro http://89.0 25/01/2013 Hay tres hosts constituyendo este server group de tal manera que la aplicación debe ser desplegada en todos: maestro y esclavos que son los que configuran el dominio. JBoss AS7: Modo domain 56/77 .1.237:8380 ¿Por qué el puerto de escucha de la aplicación es el 8380 en lugar de 8080? La respuesta está en el fichero host. Versión: 1.0 25/01/2013 Esclavo 2 http://89.xml de cada host (maestro + esclavos) que configura el dominio: <servers> <server name="clusterdemo" group="clusterdemo-server-group" auto-start="true"> <socket-bindings socket-binding-group="ha-sockets" port-offset="300"/> </server> </servers> El port-offset = 300 luego 8080 + 300 = 8380 Hasta aquí tenemos los JBOSS AS7 (master + slave1 + slave2) en modo Domain operativos.4. Sistemas Error! Reference source not found. Lo siguiente es la configuración del cluster y por último las pruebas de replicación de sesión. 2 Configuración en cluster Normalmente el IIS no puede ejecutar Servlets y Java Server Pages (JSPs). 5. Sistemas Error! Reference source not found. 6.apache. Reiniar JBoss AS7. Configurar los JBoss AS7 (asignar a cada nodo JBoss una jvmRoute) 8.0 25/01/2013 8.2. Reiniar IIS7. Configurar IIS7. Versión: 1. 2) El redirector analiza (filtra) el requerimiento URL y lo chequea contra una lista de patrones almacenada en el fichero uriworkermap.Versiones anteriores tiene problemas con el IIS7. Test. 10. JK ISAPI permitirá enviar requerimientos Servlets and JSP al JBOSS y de esta manera resolver las peticiones cliente. Descargar el isapi redirector: jk 1.properties: Si el requerimiento coincide con una de la entradas almacenadas en el fichero.x 2. Paso 1: Descargar isapi redirector isapi_redirect.26. Redirección hacia el JBOSS AS. 1.dll Descargar la última versión dll http://www. El redirector recibe la respuesta y la muestra en el browser. el filtro transfiere el requerimiento al JBOSS AS7 usando el protocolo ajp13.2. Configurar el fichero jk workers. el IIS carga el redirector y lo llama cada vez que tenga que resolver un requerimiento entrante. 9. Crear una entrada en regedit para el redirector isapi. 3. Configurar las IIS7 URLs servidas por el redirector (las aplicaciones servidas por el JBoss AS7) 7.org/dist/tomcat/tomcat- connectors/jk/binaries/windows/ NOTA: No usar versiones anteriores a jk 1.1. 1) El redirector IIS-JBOSS AS es un programa que corre bajo IIS. JBoss AS7: Modo domain 57/77 . Instalar IIS7. Filtro ISAPI. 4. Panel de control->Programas y características JBoss AS7: Modo domain 58/77 . Se supone Windows Vista instalado. Versión: 1.0. Sistemas Error! Reference source not found.0 25/01/2013 El directorio de descarga (=trabajo) para el ejemplo es D:\AENA\JBOSS\Cluster_Aena\laboratorio\isapi Paso 2: Instalar IIS 7. Versión: 1.0 25/01/2013 Asegurarse de que IIS tiene los siguientes componentes instalados: . Sistemas Error! Reference source not found.NET Extensibility CGI ISAPI Extensions ISAPI Filters Windows Authentication JBoss AS7: Modo domain 59/77 . De estar ocupado habría que cambiarlo vía consola de administración del IIS7.103.0 25/01/2013 Se puede testear si el IIS7 trabaja poniendo en un browser http://localhost El IIS7 escucha en el puerto 80. Sistemas Error! Reference source not found. Versión: 1. Para este ejemplo el IIS7está escuchando en el puerto 8090 y asociado a la ip 189. Comprobar que ningún proceso está escuchando en él.85 JBoss AS7: Modo domain 60/77 .89. Sistemas Error! Reference source not found. Ejecutar Programas -> inetmgr.0 & ISAPI Es necesario configurar el filtro ispai-redirector en el IIS7.exe JBoss AS7: Modo domain 61/77 .0 25/01/2013 Paso 3: Configurar IIS 7. Para ello lo hacemos vía consola de administración del IIS7. Versión: 1. JBoss AS7: Modo domain 62/77 . Versión: 1.0 25/01/2013 Se debe crear un directorio virtual cuyo alias es “Jakarta” y que apunte al directorio donde residen los fichero de configuración del filtro ISAPI ( paso 1). Sistemas Error! Reference source not found. Versión: 1. Doble click en “Asignaciones de Controlador” JBoss AS7: Modo domain 63/77 . Sistemas Error! Reference source not found.0 25/01/2013 El siguiente paso es darle permisos de ejecución. 0 25/01/2013 Dentro de “Asignaciones de Controlador” cliquear en “Modificar permisos de características” y cliquear “OK” en el cuadro de dialogo que aparece. Versión: 1. JBoss AS7: Modo domain 64/77 . Sistemas Error! Reference source not found. En “Asignaciones de Controlador” ahora deberían estar activas las llamadas ISAPI- dll. 0 25/01/2013 Lo siguiente es añadir el filtro ISAP al “Default Web Site” y cliquear en “Filters ISAPI”. Versión: 1. Cliquear “Agregar”: JBoss AS7: Modo domain 65/77 . Sistemas Error! Reference source not found. dll y cliquear OK. Versión: 1.0 25/01/2013 En el cuadro de dialogo “Add ISAPI Filter” cumplimentar el nombre y el path donde resida isapi_redirect. Sistemas Error! Reference source not found. El filtro debería aparecer en “ISAPI Filters” JBoss AS7: Modo domain 66/77 . Sistemas Error! Reference source not found. In the ISAPI and CGI Restrictions cliquear Agregar en el panel de Acciones. Versión: 1. JBoss AS7: Modo domain 67/77 .0 25/01/2013 Por último se necesita configurar la característica “ISAPI and CGI Restrictions”. Encontrar la entrada [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\ Crear una nueva entrada “Jakarta Isapi Redirector” y debajo de esta otra nueva llamada “1. Paso 4: Configurar registro REGEDIT. Ejecutar Regedit como Administrator.0” y debajo incluir 6 nuevos valores JBoss AS7: Modo domain 68/77 .0 25/01/2013 La extension ISAPI debería aparecer en la lista con estado Restricción permitido. Versión: 1. Sistemas Error! Reference source not found. Instalando el Apache. Simplemente complementaríamos con nuestros valores. Situarnos en el directorio de trabajo donde hemos descargado el filtro isapi y abrir con (Editor del Registro) el fichero ISAPI (previamente cumplimentado con los valores deseados) JBoss AS7: Modo domain 69/77 . Versión: 1. La propia instalación crea esta entrada en regedit. Hay tres maneras de hacerlo: 1. 2. 3. Sistemas Error! Reference source not found. Manual según lo indicado.0 25/01/2013 Este punto es crítico. slave2.port = 8309 worker.loadbalancerA.slave1.type=lb worker.slave1.slave1.balance_workers=slave1.loadbalancerA.237 worker. Hay 3 partes en este fichero: La primera define la lista de workers: worker.reference=worker.slave1.slave2.slave2. el archivo anterior configura el filtro ISAPI para realizar el balanceo de carga round robin con sesiones enganchadas (sticky sessions) entre dos instancias JBoss slave1 y slave2 escuchando en puerto 8309.default worker.default.type=ajp13 worker.1.lbfactor=1 worker.slave2 worker.fail_on_status=404 # Define Slave1 worker.sticky_session=1 Básicamente. Estos workers son los distintos JBoss AS7 que están atendiendo las peticiones.4.default worker.reference=worker. Sistemas Error! Reference source not found.1.17 worker.0 25/01/2013 Paso 5 y 6: Configurar los ficheros workers Configuración del fichero workers Es el fichero donde se describe el host y el puerto donde están los “workers”.host = 89. Versión: 1. En el siguiente ejemplo se muestra el fragmento de código (extraído de los ficheros reales) necesario para programar el balanceo entre dos instancias pertenecientes a dos JBoss físicamente diferentes: # Define list of workers that will be used # Definte default worker settings worker.5.port = 8309 worker. JBoss AS7: Modo domain 70/77 .loadbalancerA.default.default.redirect=slave2 # Define Slave2 worker.host = 89.redirect=1 # Load-balancing behaviour worker.status La segunda sección define los servidores físicos que componen el worker balanceador de carga.list = loadbalancerA.slave2. Sistemas Error! Reference source not found.slave1 es el nombre de la instancia para el servidor JBoss AS7 1 worker. Si se especifica worker. cada cliente es siempre redirigido al servidor que se JBoss AS7: Modo domain 71/77 .loadbalancerA.nodeN es el nombre de la instancia para el servidor JBoss AS7 N . Entre más grande sea el número.type=lb worker. .type puede ser ajp12.0 25/01/2013 Los workers son definidos secuencialmente (o pueden definirse con cualquier nombre que sea reconocido por los otros. Pero cuando un usuario abre una sesión sobre un servidor. secuencialmente trabajan mejor) worker.port número del puerto del conector AJP13 ejecutando en el contenedor del Servlet.slave2 es el nombre de la instancia para el servidor JBoss AS7 2 worker. siempre y cuando esté disponible. debe definirse la política de balanceo para el worker “loadbalancerA”.balance_workers define los workers a ser balanceados que forman parte del worker " loadbalancerA". Se utiliza para definir la prioridad (o peso) que debe tener un nodo sobre los otros nodos. # Load-balancing behaviour worker.loadbalancerA. . ajp13.sticky_session=1 . La configuración se puede utilizar para diferenciar los servidores con diferente poder de procesamiento Finalmente. en la última sección del fichero. etc—dependiendo del tipo de conector sobre el que JBoss esté escuchando. Este tipo de comportamiento es conocido como “sticky session”. Versión: 1. más pedidos HTTP recibirá.sticky_session=0. por ejemplo diferentes requerimientos para la misma sesión irán a servidores diferentes. sticky_. deberá ser siempre “lb” . cada requerimiento será dirigido (balanceado) entre slave1 y slave2.loadbalancer. Esta propiedad especifica el comportamiento para la sesiones HTTP. todos sus requerimientos serán dirigidos al mismo servidor. .lbfactor es el factor para balancear carga para este worker específico.balance_workers=slave1.type Puesto que se está hablando de balancear servidores app.loadbalancerA.slave2 worker.host es el nombre del host (o dirección IP) . 1" scheme="http" socket-binding="http"/> En la máquina 89.237 (slave2): Fichero /home/dssanz/jboss-as-7.xml <system-properties> <property name="java.preferIPv4Stack" value="true"/> <property name="jvmRoute" value="slave1"/> <property name="UseJK" value="true"/> </system-properties> ………… JBoss AS7: Modo domain 72/77 . Configuración del fichero uriworkermap El fichero donde se define la relación entre los requerimientos URL y el worker que tiene que atender la petición. Versión: 1.1.1.net. Para habilitar “sticky session”.1.4. Sistemas Error! Reference source not found.1" default-virtual-server="default-host" native="false" instance-id="${jvmRoute}"> <connector name="http" protocol="HTTP/1.sticky_session to 1.17 (slave1): Fichero /home/dssanz/jboss-as-7.preferIPv4Stack" value="true"/> <property name="jvmRoute" value="slave2"/> <property name="UseJK" value="true"/> </system-properties> ………… <subsystem xmlns="urn:jboss:domain:web:1. /cluster-demo=loadbalancerA /cluster-demo/*=loadbalancerA Paso 7: Configurar los JBoss AS7 Se trata de cumplimenta el atributo jvmRoute en cada JBoss AS7.5.1.0 25/01/2013 le asigno en su primer requerimiento.net.xml <system-properties> <property name="java. se necesita colocar worker.1.Final/domain/configuration/domain.Final/domain/configuration/domain. En la máquina 89.1.loadbalancer. Versión: 1.0 25/01/2013 <subsystem xmlns="urn:jboss:domain:web:1. Sistemas Error! Reference source not found.1" scheme="http" socket-binding="http"/> Paso 8: Reiniciar los JBoss AS7 Para ello utilizar los scripts de arranque / parada del servidor del que se trate: Paso 9: Reiniciar el IIS7 Paso 10: Test. JBoss AS7: Modo domain 73/77 . El siguiente esquema muestra una posible configuración de la cual forma parte la configuración actual de los servidores en AENA (encapsulado en rojo) y sobre la que se van a realizar las pruebas.1" default-virtual-server="default-host" native="false" instance-id="${jvmRoute}"> <connector name="http" protocol="HTTP/1. 0 25/01/2013 Accedemos al cluster: http://ssccptpresta13:8090/cluster-demo/put. Sistemas Error! Reference source not found. Versión: 1.jsp JBoss AS7: Modo domain 74/77 . En este caso el requerimiento fue enviado al host slave2 (sc1032): Ahora desconectamos. Versión: 1. Sistemas Error! Reference source not found. vía consola.0 25/01/2013 El requerimiento debería ser despachado por uno de los dos host esclavos (slave1 o slave2). el host slave2: Arrancamos de Nuevo el host slave2 inmediatamente JBoss AS7: Modo domain 75/77 . 0 25/01/2013 Esperamos unos pocos segundos y accedemos al cluster: http://ssccptpresta13:8090/cluster-demo/get. Versión: 1.jsp Ahora el requerimiento debería ser servido por el host slave1 (sc1038): JBoss AS7: Modo domain 76/77 . Sistemas Error! Reference source not found. Versión: 1. Esto verifica que la sesión es correctamente replicada en el otro host (slave1) JBoss AS7: Modo domain 77/77 .jsp debería proporcionar la misma hora que puso vía put.0 25/01/2013 El requerimiento get.jsp. Sistemas Error! Reference source not found.