El grupo al cual envías entradas es un grupo Usenet. Si envías mensajes a este grupo, cualquier usuario de Internet podrá ver tu dirección de correo electrónico
Surge un problema cuando se desea desplegar aplicaciones en diferentes nodos; Cada aplicación tiene su propio ambiente para cargar su classsloader, pero en el momento de desarrollar una aplicación, es dificil simular esto,
> Surge un problema cuando se desea desplegar aplicaciones en diferentes > nodos; Cada aplicación tiene su propio ambiente para cargar su > classsloader, pero en el momento de desarrollar una aplicación, es > dificil simular esto,
> ¿ Cual serí ala mejor la forma de hacer esto ???
Una buena opción es hacer el ambiente de desarrollo lo más parecido a como funciona en los clusters. Por omisión, JBoss tiene ciertos comportamientos para acelerar el rendimiento en modo no-cluster. Sin embargo a la hora de hacer el cluster vienen los dolores de cabeza y se pagan las penalizaciones. Dos de esas situaciones son:
1. Parámetros por referencia en los EJB. 2. "flat class loading" (todos comparten todo).
Para hacer las cosas más fáciles a futuro, los parámetros en los EJB deberían pasarse por valor y los componentes usar "isolated class loaders" (cargadores de clases independientes para cada componente: War, EJB-JAR ...).
Finalmente, a mi parecer, la forma más conveniente de referenciar las thirdparty libraries para tener puntos a favor en estos casos, es usar las librerías en el EAR y referenciarlas en el Clash-Path del META-INF en cada componente WAR, EJB-JAR que esté dentro del EAR. Con estas prácticas creo que se tendría un buen acercamiento al deploy final ;)
Además de la configuración de carga de clases a las que se refiere Rulas es también fácil desplegar la aplicación simulando un cluster en una sola máquina, esto permite probar la aplicación en un ambiente ditribuido sin salir del entorno de programación, los siguientes son los pasos para hacerlo:
La solución se basa en redirigir los puertos de cada instancia de JBoss, esto se hace utilizando el descriptor {JBOSS_HOME}/docs/examples/binding-manager/sample-bindings.xml.
1. Copie la carpeta all 2 veces con nombres diferentes, pe. all1, all2 2. En el conf/jboss-services.xml de cada copia (all1 y all2) descomente la sección "Service Binding", y cambie el atributo service-name, ports-01 en all1 y ports-02 en all2. 3. Elimine el archivo remoting-service.xml de las carpetas {all,all1,all2}/deploy, que no es compatible con la configuración del Service Binding.
Bueno en el jboss.xml los EJB deben ser clustered. Inicie cada instancia como:
sh run.sh -c all sh run.sh -c all1 sh run.sh -c all2