martes, 4 de mayo de 2010

Configuración de JBoss Messaging en cluster y sin persistencia

Escribo esta entrada porque no está muy clara en la documentación oficial ( http://www.jboss.org/file-access/default/members/jbossmessaging/freezone/docs/userguide-1.3.0.GA/html/c_configuration.html) cómo configurar JBoss Messaging en cluster y sin persistencia.

Estos son los pasos:

  • Agregar la cola clusterizada en deploy/jboss-messaging.sar/destinations-service.xml:

<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=ClusteredExampleQueue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="Clustered">true</attribute>
</mbean>


  • Reemplazar deploy/jboss-messaging.sar/clustered-hsqldb-persistence-service.xml por jboss-as/docs/examples/null-persistence-service (en hsqldb usa Hypersonic y por ende no está preparado para producción). Si se desea usar persistencia entonces usar el clustered--persistence-service.xml adecuado.
  • Editar el archivo null-persistence-service y setear el atributo clustered en true:

<!-- This post office is clustered. If you don't want a clustered post office then set to false -->
<attribute name="Clustered">true</attribute>


  • Agregar un password para el mesage sucker. Este password debe ser el mismo en todos los nodos. Para esto descomentar y completar este elemento de deploy/jboss-messaging.sar/messaging-service.xml:
<!-- The password used by the message sucker connections to create connections.
THIS SHOULD ALWAYS BE CHANGED AT INSTALL TIME TO SECURE SYSTEM
<attribute name="SuckerPassword"></attribute>
-->


  • Agregar -Djboss.messaging.ServerPeerID=1 (siendo 1 el número del nodo) a las opciones de arranque del JBoss. Es indispensable que el número no se repita entre diferentes nodos.

Por defecto la distribución de mensajes entre distintos nodos está habilitada. Esto significa que si un nodo está ocioso le pedirá a los otros nodos que le pasen mensajes para procesar. Esto es útil si los nodos procesan mensajes de forma heterogénea.

Si se desea deshabilitar comentar en messaging-service.xml la siguiente sección:

<!-- The name of the connection factory to use for creating connections between nodes to pull messages -->
<attribute name="ClusterPullConnectionFactoryName">jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory</attribute>
-->


No hay comentarios:

Publicar un comentario