Monthly Archives: May 2009

Múltiples instancias del AS y el problema de los puertos

Uno de los problemas mas frecuentes al levantar varias instancias del AS en una misma máquina es la tediosa tarea de reconfigurar todos los puertos para que no se produzca un error de port binding. Dejando afuera la alternativa recomendada e ideal, que es la de asignar una dirección IP distinta a cada instancia, o la peor, que és cambiar manualmente todos los puertos en los archivos de configuración, aparece la opción de utilizar el servicio ServiceBindingManager ó también llamada te-reconfiguro-todos-los-puertos-en-un-solo-archivo.

Este servicio viene activado por default en los AS 5 o para activar manualmente en las versiones 4.X.

JBoss AS 4.X:
Viene desactivado por default, para activarlo hay que descomentar las lineas

!-- 
      | Binding service manager for port/host mapping. This is a sample
      | config that demonstrates a JBoss instances with a server name 'ports-01'
      | loading its bindings from an XML file using the ServicesStoreFactory
      | implementation returned by the XMLServicesStoreFactory.
      |
      | ServerName: The unique name assigned to a JBoss server instance for
      | lookup purposes. This allows a single ServicesStore to handle mulitiple
      | JBoss servers.
      |
      | StoreURL: The URL string passed to org.jboss.services.binding.ServicesStore
      | during initialization that specifies how to connect to the bindings store.
      | StoreFactory: The org.jboss.services.binding.ServicesStoreFactory interface
      | implementation to create to obtain the ServicesStore instance.

   <mbean code="org.jboss.services.binding.ServiceBindingManager"
     name="jboss.system:service=ServiceBindingManager">
     <attribute name="ServerName">ports-01</attribute>
     <attribute name="StoreURL">../docs/examples/binding-manager/sample-bindings.xml</attribute>
     <attribute name="StoreFactoryClassName">org.jboss.services.binding.XMLServicesStoreFactory</attribute>
   </mbean>
   -->

del archivo conf/jboss-service.xml. En el atributo “ServerName” se tiene que cambiar el contenido “ports-01” por la configuración deseada y en “StoreURL” el path del archivo que contiene las distintas configuraciones. Un ejemplo del archivo de configuración se encuentra en $JBOSS_HOME/docs/binding-manager/sample-bindings.xml, el cual viene con 4 ejemplo de configuraciones listas para usar.

JBoss AS 5.X:
En la serie 5.X viene activado por default y se configura desde el archivo server/nombre_de_instancia/conf/bootstrap/bindings.xml , esta nueva versión es todavia mucho más amigable y viene con 4 set de configuraciones listas para usar. La diferencia con respecto a las configuraciones que venian con el AS 4.X se basan en que no se configura ningún puerto, sino tan solo un parámetro donde se indica cuanto se tiene que sumar al puerto estandard.

Para establecer que configuración se quiere utilizar se debe especificar el parámetro,

<parameter>${jboss.service.binding.set:ports-default}</parameter>

donde ports-default es el nombre de una configuración, en el constructor del bean ServiceBindingManager dentro del archivo bindings.xml

Si bien todavia puede existir el problema de la asignación de puertos para JGroups en un ambiente clusterizado, las posibilidades de error son mínimas. En todo caso no se recomienda la utilización de estas configuraciones para ambientes de producción porque una futura actualización seguramente cambiaría la configuración asignada, con todos los problemas que eso acarrea.

Espero que sea útil

Post Original

JBug Argentina

jbug-brand

Finalmente hoy pudimos poner en marcha el JBoss User Group Argentina en conjunto con diega y salaboy. La idea de esta iniciativa es tan simple como la de generar una comunidad donde podamos intercambiar opiniones, intereses y conocimientos relacionados con el stack de soluciones de JBoss. Te invitamos a que formes parte de esta comunidad de todas las formas que sean posibles y que pusimos en el sitio, además de visitarnos y comentar sobre los contenidos que vamos a ir publicando en conjunto con personas como vos y yo, que solamente tienen un blog y escriben sobre sus experiencias y/o proyectos relacionados con JBoss solo por amor al arte.

www.jbug.com.ar

Google Summer of Code 2009

soclogo

Hace unos pocos días fuí seleccionado para participar en el Google Summer of Code 2009, más precisamente con el proyecto Refactoring Rules de JBoss Drools.

El objetivo de este proyecto es realizar la integración de refactorización de reglas en los IDEs, tanto en el IDE para Eclipse como en Guvnor. Este módulo tiene que ser reutilizable para ambas partes, y tener un nivel de abstracción que permita realizar la refactorización en todos los tipos de formatos de reglas conocidos, no solamente DRL sino que también en DSL, BRL, TableDecision (aunque en este momento no se implemente), RuleFlow, etc.

En la application presentada se propusieron varias features, que en teoría todas son implementables pero todavia no hay nada concreto.

  • Asignación de variable
  • Renombrar variable
  • Cambio de parámetros para aumentar la performance
  • Detección de producto cruzado
  • Sugerencia de join/linking variable
  • Organizar imports

Se habrán dado cuenta que algunas features van más allá de lo que denominamos refactorización, pero son un buen agregado que pueden proporcionarles nuevas funcionalidades a los IDE’s, y seguramente se agregarán o modificarán algunos requerimientos según los pedidos de mi mentor asignado aparte de algunas ideas que puedan surguir cuando empieze el coding madness.

Toda esta locura empieza el 23 de mayo, cuando es la fecha fijada para el inicio formal de GSoC, sin embargo en estas semanas restantes son los momentos para empezar a coordinar con los mentores y completar wikis como Refactoring Rules , que como verán todavía no tiene ningún contenido de implementación más allá de los requerimientos y donde podrán seguir los avances que vayan sucediendo.

Supongo que si hay alguna novedad útil para comentar sobre los progresos lo haré en otro post, por ahora no hay mucho más que contar… eso si, el 26 de agosto les comento como terminó todo esto.

Post original de lucazamador.wordpress.com