Not all Distributed Topic subscribers receive messages - Weblogic

This is a discussion on Not all Distributed Topic subscribers receive messages - Weblogic ; Hi, I am buildin a prototype on distributed Topic and I can't get all the subscribers receive the same message. Here is my config info: One WLS 7.0.4 cluster setup on 3 machines one managed server on each machine a ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: Not all Distributed Topic subscribers receive messages

  1. Not all Distributed Topic subscribers receive messages


    Hi,
    I am buildin a prototype on distributed Topic and I can't get all the subscribers
    receive the same message. Here is my config info:

    One WLS 7.0.4 cluster setup on 3 machines
    one managed server on each machine
    a JMS Connection factory (named JMSCF) deployed to the cluster
    a JMS server with JMSTopic destination configured for each managed server
    a Distributed Destination with the three JMS servers to be the members

    I modified the JMS example programs (included in the WLS distribution), TopicSend.java
    and TopicReceive.java, to have the JMS_FACTORY poined to my Connection factory
    (JMSCF) and TOPIC set to the distributed destination (DSTopic).

    Now the fun begins, I launched serveral instances of the TopicReceive and one
    instance of TopicSender with the cluster URL address (t3://m1:8001,m2:8001,m3:8001).
    I used TopicSend to send messages to the Topic and only a group of the TopicReceive
    instances would receive the messages. I relaunched the TopicSend a few times,
    used it to send messages and always there would only be a subset of the TopReceive
    receive the messages. It seems like those instances of TopicReceive get petitioned
    into 3 different groups with each group only communicating to a managed server,
    but I expect ALL the topic subscribers will receive the message if they subscribe
    the same distributed destination.

    Is my expectation correct? Where else should I check for problems? Any info
    will be highly appreciated.

    John



  2. Re: Not all Distributed Topic subscribers receive messages


    Just checked my previous post and found out the config info was screwed, I am retyping
    it here:

    One WLS 7.0.4 cluster setup on 3 machines,
    one managed server on each machine,
    all 3 managed servers are configured to be part of the cluster,
    a JMS Connection factory (named JMSCF) deployed to the cluster,
    a JMS server with JMSTopic destination deployed on each managed server,
    a Distributed Destination with the three JMS servers to be the members

    Extracted from the config.xml:

    JNDIName="JMSCF" LoadBalancingEnabled="false" Name="JMSCF"
    ServerAffinityEnabled="false" Targets="mycluster"/>









    Name="DSTopic@JS-e2server" Template="DSTopic"/>


    Name="DSTopic@JS-eserver" Template="DSTopic"/>


    Name="DSTopic@JS-jserver" Template="DSTopic"/>



    "John Lee" wrote:
    >
    >Hi,
    > I am buildin a prototype on distributed Topic and I can't get all
    >the subscribers
    >receive the same message. Here is my config info:
    >
    >One WLS 7.0.4 cluster setup on 3 machines
    >one managed server on each machine
    >a JMS Connection factory (named JMSCF) deployed to the cluster
    >a JMS server with JMSTopic destination configured for each managed server
    >a Distributed Destination with the three JMS servers to be the members
    >
    >I modified the JMS example programs (included in the WLS distribution),
    >TopicSend.java
    >and TopicReceive.java, to have the JMS_FACTORY poined to my Connection
    >factory
    >(JMSCF) and TOPIC set to the distributed destination (DSTopic).
    >
    >Now the fun begins, I launched serveral instances of the TopicReceive
    >and one
    >instance of TopicSender with the cluster URL address (t3://m1:8001,m2:8001,m3:8001).
    >I used TopicSend to send messages to the Topic and only a group of the
    >TopicReceive
    >instances would receive the messages. I relaunched the TopicSend a few
    >times,
    >used it to send messages and always there would only be a subset of the
    >TopReceive
    >receive the messages. It seems like those instances of TopicReceive get
    >petitioned
    >into 3 different groups with each group only communicating to a managed
    >server,
    >but I expect ALL the topic subscribers will receive the message if they
    >subscribe
    >the same distributed destination.
    >
    >Is my expectation correct? Where else should I check for problems?
    >Any info
    >will be highly appreciated.
    >
    >John
    >
    >



  3. Re: Not all Distributed Topic subscribers receive messages

    Your expectation is correct. Some things to look for:

    What do the statistics for the three topic destinations
    show after you publish a message?

    Are you ensuring that the client subscribers are
    initialized before the messages are published?

    Have you checked to see if the cluster servers
    are communicating?

    I noticed that your template and your distributed
    topic use the same name "DSTopic". I wonder if
    this could be causing a problem.

    Are there any Warnings or Errors in the server logs?
    To the server logs show that the managed servers
    are successfully joining the cluster?

    John Lee wrote:

    > Just checked my previous post and found out the config info was screwed, I am retyping
    > it here:
    >
    > One WLS 7.0.4 cluster setup on 3 machines,
    > one managed server on each machine,
    > all 3 managed servers are configured to be part of the cluster,
    > a JMS Connection factory (named JMSCF) deployed to the cluster,
    > a JMS server with JMSTopic destination deployed on each managed server,
    > a Distributed Destination with the three JMS servers to be the members
    >
    > Extracted from the config.xml:
    >
    > > JNDIName="JMSCF" LoadBalancingEnabled="false" Name="JMSCF"
    > ServerAffinityEnabled="false" Targets="mycluster"/>
    >
    >
    >
    >
    >
    >
    >

    >
    >
    > > Name="DSTopic@JS-e2server" Template="DSTopic"/>
    >

    >
    > > Name="DSTopic@JS-eserver" Template="DSTopic"/>
    >

    >
    > > Name="DSTopic@JS-jserver" Template="DSTopic"/>
    >

    >
    >
    > "John Lee" wrote:
    >
    >>Hi,
    >> I am buildin a prototype on distributed Topic and I can't get all
    >>the subscribers
    >>receive the same message. Here is my config info:
    >>
    >>One WLS 7.0.4 cluster setup on 3 machines
    >>one managed server on each machine
    >>a JMS Connection factory (named JMSCF) deployed to the cluster
    >>a JMS server with JMSTopic destination configured for each managed server
    >>a Distributed Destination with the three JMS servers to be the members
    >>
    >>I modified the JMS example programs (included in the WLS distribution),
    >>TopicSend.java
    >>and TopicReceive.java, to have the JMS_FACTORY poined to my Connection
    >>factory
    >>(JMSCF) and TOPIC set to the distributed destination (DSTopic).
    >>
    >>Now the fun begins, I launched serveral instances of the TopicReceive
    >>and one
    >>instance of TopicSender with the cluster URL address (t3://m1:8001,m2:8001,m3:8001).
    >>I used TopicSend to send messages to the Topic and only a group of the
    >>TopicReceive
    >>instances would receive the messages. I relaunched the TopicSend a few
    >>times,
    >>used it to send messages and always there would only be a subset of the
    >>TopReceive
    >>receive the messages. It seems like those instances of TopicReceive get
    >>petitioned
    >>into 3 different groups with each group only communicating to a managed
    >>server,
    >>but I expect ALL the topic subscribers will receive the message if they
    >>subscribe
    >>the same distributed destination.
    >>
    >>Is my expectation correct? Where else should I check for problems?
    >>Any info
    >>will be highly appreciated.
    >>
    >>John
    >>
    >>

    >
    >



  4. Re: Not all Distributed Topic subscribers receive messages


    Thanks the quick reply. I did what you suggested and here is what I got:

    At any one time that a message is published, only one destination will show a
    message is received in the monitoring tab. Other destinations do not show they
    have received any messages. And I do use the cluster address in TopicSend.

    Yes, I start all the TopReceive instances first, they all show the messages "JMS
    Ready To Receive Messages", then I launch and re-launch the TopicSend to publish
    the messages.

    How can I ensure the cluster servers are communicating? All the servers show up
    under the Cluster node in the WLS admin console and cluster monitoring tab shows
    there are 3 servers currently participating in the cluster. Can you suggest a
    test that I can try to test the inter-servers communication?

    I changed the template names to DSTopicTemplate from DSTopic based on your comment
    and it doesn't help.

    No error or warning in the log files.

    Any info will be highly appreciated.

    John





    Tom Barnes
    wrote:
    >Your expectation is correct. Some things to look for:
    >
    >What do the statistics for the three topic destinations
    >show after you publish a message?
    >
    >Are you ensuring that the client subscribers are
    >initialized before the messages are published?
    >
    >Have you checked to see if the cluster servers
    >are communicating?
    >
    >I noticed that your template and your distributed
    >topic use the same name "DSTopic". I wonder if
    >this could be causing a problem.
    >
    >Are there any Warnings or Errors in the server logs?
    >To the server logs show that the managed servers
    >are successfully joining the cluster?
    >
    >John Lee wrote:
    >
    >> Just checked my previous post and found out the config info was screwed,

    >I am retyping
    >> it here:
    >>
    >> One WLS 7.0.4 cluster setup on 3 machines,
    >> one managed server on each machine,
    >> all 3 managed servers are configured to be part of the cluster,
    >> a JMS Connection factory (named JMSCF) deployed to the cluster,
    >> a JMS server with JMSTopic destination deployed on each managed server,
    >> a Distributed Destination with the three JMS servers to be the members
    >>
    >> Extracted from the config.xml:
    >>
    >> >> JNDIName="JMSCF" LoadBalancingEnabled="false" Name="JMSCF"
    >> ServerAffinityEnabled="false" Targets="mycluster"/>
    >>
    >>
    >>
    >>
    >>
    >>
    >>

    >>
    >>
    >> >> Name="DSTopic@JS-e2server" Template="DSTopic"/>
    >>

    >>
    >> >> Name="DSTopic@JS-eserver" Template="DSTopic"/>
    >>

    >>
    >> >> Name="DSTopic@JS-jserver" Template="DSTopic"/>
    >>

    >>
    >>
    >> "John Lee" wrote:
    >>
    >>>Hi,
    >>> I am buildin a prototype on distributed Topic and I can't get all
    >>>the subscribers
    >>>receive the same message. Here is my config info:
    >>>
    >>>One WLS 7.0.4 cluster setup on 3 machines
    >>>one managed server on each machine
    >>>a JMS Connection factory (named JMSCF) deployed to the cluster
    >>>a JMS server with JMSTopic destination configured for each managed

    >server
    >>>a Distributed Destination with the three JMS servers to be the members
    >>>
    >>>I modified the JMS example programs (included in the WLS distribution),
    >>>TopicSend.java
    >>>and TopicReceive.java, to have the JMS_FACTORY poined to my Connection
    >>>factory
    >>>(JMSCF) and TOPIC set to the distributed destination (DSTopic).
    >>>
    >>>Now the fun begins, I launched serveral instances of the TopicReceive
    >>>and one
    >>>instance of TopicSender with the cluster URL address (t3://m1:8001,m2:8001,m3:8001).
    >>>I used TopicSend to send messages to the Topic and only a group of

    >the
    >>>TopicReceive
    >>>instances would receive the messages. I relaunched the TopicSend a

    >few
    >>>times,
    >>>used it to send messages and always there would only be a subset of

    >the
    >>>TopReceive
    >>>receive the messages. It seems like those instances of TopicReceive

    >get
    >>>petitioned
    >>>into 3 different groups with each group only communicating to a managed
    >>>server,
    >>>but I expect ALL the topic subscribers will receive the message if

    >they
    >>>subscribe
    >>>the same distributed destination.
    >>>
    >>>Is my expectation correct? Where else should I check for problems?

    >
    >>>Any info
    >>>will be highly appreciated.
    >>>
    >>>John
    >>>
    >>>

    >>
    >>

    >



  5. Re: Not all Distributed Topic subscribers receive messages


    Just found out that one machine has multiple IP addresses and that causes the distributed
    topic to fail. It works after IP problem is fixed. Thanks for the help.


    "John Lee" wrote:
    >
    >Thanks the quick reply. I did what you suggested and here is what I got:
    >
    >At any one time that a message is published, only one destination will
    >show a
    >message is received in the monitoring tab. Other destinations do not
    >show they
    >have received any messages. And I do use the cluster address in TopicSend.
    >
    >Yes, I start all the TopReceive instances first, they all show the messages
    >"JMS
    >Ready To Receive Messages", then I launch and re-launch the TopicSend
    >to publish
    >the messages.
    >
    >How can I ensure the cluster servers are communicating? All the servers
    >show up
    >under the Cluster node in the WLS admin console and cluster monitoring
    >tab shows
    >there are 3 servers currently participating in the cluster. Can you suggest
    >a
    >test that I can try to test the inter-servers communication?
    >
    >I changed the template names to DSTopicTemplate from DSTopic based on
    >your comment
    >and it doesn't help.
    >
    >No error or warning in the log files.
    >
    >Any info will be highly appreciated.
    >
    >John
    >
    >
    >
    >
    >
    >Tom Barnes
    >wrote:
    >>Your expectation is correct. Some things to look for:
    >>
    >>What do the statistics for the three topic destinations
    >>show after you publish a message?
    >>
    >>Are you ensuring that the client subscribers are
    >>initialized before the messages are published?
    >>
    >>Have you checked to see if the cluster servers
    >>are communicating?
    >>
    >>I noticed that your template and your distributed
    >>topic use the same name "DSTopic". I wonder if
    >>this could be causing a problem.
    >>
    >>Are there any Warnings or Errors in the server logs?
    >>To the server logs show that the managed servers
    >>are successfully joining the cluster?
    >>
    >>John Lee wrote:
    >>
    >>> Just checked my previous post and found out the config info was screwed,

    >>I am retyping
    >>> it here:
    >>>
    >>> One WLS 7.0.4 cluster setup on 3 machines,
    >>> one managed server on each machine,
    >>> all 3 managed servers are configured to be part of the cluster,
    >>> a JMS Connection factory (named JMSCF) deployed to the cluster,
    >>> a JMS server with JMSTopic destination deployed on each managed server,
    >>> a Distributed Destination with the three JMS servers to be the members
    >>>
    >>> Extracted from the config.xml:
    >>>
    >>> >>> JNDIName="JMSCF" LoadBalancingEnabled="false" Name="JMSCF"
    >>> ServerAffinityEnabled="false" Targets="mycluster"/>
    >>>
    >>>
    >>>

    >Name="DSTopic@JS-e2server"/>
    >>>
    >>>
    >>>
    >>>
    >>>
    >>>
    >>> >>> Name="DSTopic@JS-e2server" Template="DSTopic"/>
    >>>

    >>>
    >>> >>> Name="DSTopic@JS-eserver" Template="DSTopic"/>
    >>>

    >>>
    >>> >>> Name="DSTopic@JS-jserver" Template="DSTopic"/>
    >>>

    >>>
    >>>
    >>> "John Lee" wrote:
    >>>
    >>>>Hi,
    >>>> I am buildin a prototype on distributed Topic and I can't get all
    >>>>the subscribers
    >>>>receive the same message. Here is my config info:
    >>>>
    >>>>One WLS 7.0.4 cluster setup on 3 machines
    >>>>one managed server on each machine
    >>>>a JMS Connection factory (named JMSCF) deployed to the cluster
    >>>>a JMS server with JMSTopic destination configured for each managed

    >>server
    >>>>a Distributed Destination with the three JMS servers to be the members
    >>>>
    >>>>I modified the JMS example programs (included in the WLS distribution),
    >>>>TopicSend.java
    >>>>and TopicReceive.java, to have the JMS_FACTORY poined to my Connection
    >>>>factory
    >>>>(JMSCF) and TOPIC set to the distributed destination (DSTopic).
    >>>>
    >>>>Now the fun begins, I launched serveral instances of the TopicReceive
    >>>>and one
    >>>>instance of TopicSender with the cluster URL address (t3://m1:8001,m2:8001,m3:8001).
    >>>>I used TopicSend to send messages to the Topic and only a group of

    >>the
    >>>>TopicReceive
    >>>>instances would receive the messages. I relaunched the TopicSend a

    >>few
    >>>>times,
    >>>>used it to send messages and always there would only be a subset of

    >>the
    >>>>TopReceive
    >>>>receive the messages. It seems like those instances of TopicReceive

    >>get
    >>>>petitioned
    >>>>into 3 different groups with each group only communicating to a managed
    >>>>server,
    >>>>but I expect ALL the topic subscribers will receive the message if

    >>they
    >>>>subscribe
    >>>>the same distributed destination.
    >>>>
    >>>>Is my expectation correct? Where else should I check for problems?

    >>
    >>>>Any info
    >>>>will be highly appreciated.
    >>>>
    >>>>John
    >>>>
    >>>>
    >>>
    >>>

    >>

    >