users@glassfish.java.net

Re: how to share an IMQ queue in a cluster ?

From: Ramesh Parthasarathy <Ramesh.Parthasarathy_at_Sun.COM>
Date: Fri, 01 Feb 2008 08:19:54 +0000

Hi Olivier,
        Please go through
  http://docs.sun.com/app/docs/doc/819-3680/abfdn?a=view
it would help you plan your deployment.

        If i understand your requirement correctly, you have multiple glassfish
9.1 clusters (with one or more instances). And your application(s) is
deployed on the(se) cluster(s). And you want the applications to use the
same Physical queue/topic destination that exists in the MQ broker.

A simple solution would be to
1. configure the jms-service of the DAS as LOCAL (default is EMBEDDED)
A broker would be started (on port 7676 by default) by the DAS when it
starts up.
2. Configure the jms-service of the cluster(s) to be REMOTE. Configure
the jms-service (jms-host) section to point to the host and port of the
DAS broker that is started in (1).

Now, you would have one broker running (when the DAS is started) and all
the cluster instances would connect to this broker. You can create the
physical destinations on this broker and your client would send the jms
messages to the destination on this broker.All your connection factories
would point to the DAS broker.
This would solve your problem.

But, the above is not a high available solution because there is only
one broker (which is controlled by DAS and demands that DAS be
available) and all the clients (apps) are connected to it.
So, to solve this you could create a broker cluster to which the clients
would connect to. Please refer
http://docs.sun.com/app/docs/doc/819-3679/abdbk?a=view

Thanks
-Ramesh


        


glassfish_at_javadesktop.org wrote:
> hello ramesh,
> My problematic is really to SHARE a queue amongs several cluster because we send global information in this queue then we filter content in each cluster. (One cluster = one telecom operator)
>
> GUI Steps are :
> 1) I create a connection factory and a queue destination with the following properties :
> imqAddressList=DAS_HOST:DAS_JMS_PORT
> AddressList=DAS_HOST:DAS_JMS_PORT
> name=TestQueuePhysical
>
> 2) I create a physical queue TestQeuePhysical only on the server-config JMS Service
>
> 3) I deploy to the target cluster1 ( with InstanceA)
>
> 4) I send text message with JMS client directly to the IIOP address of the InstanceA
> Then i get the error.
>
> I'm quite sure that there's some concept i didn't master ... what's wrong ?
> I can send a more precise test case with code - if required
>
> Many thanks,
> Olivier
>
> PS : i also tried this with a Swift MQ broker but i always get a problem with the Physical queue name as if there was a confusion betwen the jmsra and the swiftra.
> [Message sent by forum member 'omerlin' (omerlin)]
>
> http://forums.java.net/jive/thread.jspa?messageID=256936
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>