[jboss-user] [JBoss Messaging] - JBoss Messaging 1.4 - no clustered post office?
bodrin
do-not-reply at jboss.com
Thu Dec 13 11:50:52 EST 2007
(similar problem: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=103248&postdays=0&postorder=asc&start=0)
I'm experiencing problems with the message redistribution between the cluster nodes. I'm running two server nodes jboss-4.2.0.GA with jboss-messaging-1.4.0.SP2 (http://labs.jboss.com/file-access/default/members/jbossmessaging/freezone/docs/userguide-1.4.0.SP2/html/installation.html#install.automated).
If the producer connects to one node, but the consumer on the another one it does not receive nothing from the queue. The queue is marked clustered in destinations-service.xml:
| <mbean code="org.jboss.jms.server.destination.QueueService"
| name="jboss.messaging.destination:service=Queue,name=TestService"
| 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>
|
The clients are using HA-JNDI to lookup the ClusteredConnectionFactory.
Here is the list of jars used at the client side:
| ...
| @rem this one is a fixed version (?) obtained from http://jira.jboss.org/jira/browse/JBPAPP-402?page=history
| @set CP=%CP%;%JBOSS_HOME%/server/messaging-node0/lib/jboss-remoting.jar
|
| @set CP=%CP%;D:\research\MessageBus\JBossMQ\jboss-messaging-1.4.0.SP2\jboss-messaging-client.jar
| @set CP=%CP%;%JBOSS_HOME%/client/jbossall-client.jar
|
| @rem obtained from http://repository.jboss.com/jboss/aop/1.5.5.GA/lib/
| @set CP=%CP%;./lib/jboss-aop.jar
|
| @rem obtained from http://repository.jboss.com/javassist/3.5.0.GA-brew/lib/
| @set CP=%CP%;./lib/javassist.jar
|
| @rem obtained from http://repository.jboss.com/trove/1.0.2-brew/lib/
| @set CP=%CP%;./lib/trove.jar
|
| @set CP=%CP%;%JBOSS_HOME%/client/log4j.jar
| ...
|
As I look at "JBoss Messaging 1.3 User's Guide" (http://labs.jboss.com/file-access/default/members/jbossmessaging/freezone/docs/userguide-1.3.0.GA/html/index.html)
section "7.3.2. Clustered post office" describes two interesting attributes:
| <mbean code="org.jboss.messaging.core.plugin.ClusteredPostOfficeService"
| name="jboss.messaging:service=PostOffice"
| xmbean-dd="xmdesc/ClusteredPostOffice-xmbean.xml">
| ...
| <!-- To favour the local queue -->
| <attribute name="ClusterRouterFactory">org.jboss.messaging.core.plugin.postoffice.cluster.DefaultRouterFactory</attribute>
| <!-- To round robin
| <attribute name="ClusterRouterFactory">org.jboss.messaging.core.plugin.postoffice.cluster.RoundRobinRouterFactory</attribute>
| -->
|
| <!-- For message redistribution -->
| <attribute name="MessagePullPolicy">org.jboss.messaging.core.plugin.postoffice.cluster.DefaultMessagePullPolicy</attribute>
| <!-- For no message redistribution
| <attribute name="MessagePullPolicy">org.jboss.messaging.core.plugin.postoffice.cluster.NullMessagePullPolicy</attribute>
| -->
|
(Note that adding the above configuration does not work..)
I need them in order to make something like a master/slave configured cluster of two nodes where:
| - consumers and producers are external (not running inside jboss cluster), jboss is used only as a messaging system
| - the messaging system should provide transperant failover (jboss messaging already does)
| - only the master node is used by default (runs on a better hardware box)
|
| | Hashtable properties = new Hashtable();
| | properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| | properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
| | properties.put(Context.PROVIDER_URL, "master:1200,slave:1300");
| | Context context = new InitialContext(properties);
| | ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("/ClusteredConnectionFactory");
| |
|
| | <!-- To favour the local queue -->
| | <attribute name="ClusterRouterFactory">org.jboss.messaging.core.plugin.postoffice.cluster.DefaultRouterFactory</attribute>
| |
| - if there are producers and consumers connected to different nodes in the cluster they should continue running without any knowledge of what is actually happening
|
| | <!-- For message redistribution -->
| | <attribute name="MessagePullPolicy">org.jboss.messaging.core.plugin.postoffice.cluster.DefaultMessagePullPolicy</attribute>
| |
| - if the master dies and is restarted then the slave should also be restarted in order to recover the inital state (using only the master node)
|
|
| So, currently the problem is that I do not see nothing about this Clustered post office from JBoss Messaging 1.3 into
| "JBoss Messaging 1.4 User's Guide" (http://labs.jboss.com/file-access/default/members/jbossmessaging/freezone/docs/userguide-1.4.0.SP2/html/index.html)
| and do not know how to achieve the To favour the local queue via ClusterRouterFactory attribute and For message redistribution via MessagePullPolicy attribute.
|
| Could you please help?
|
| thanks,
| bobrin
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4112636#4112636
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4112636
More information about the jboss-user
mailing list