3 Replies Latest reply on May 8, 2008 8:21 AM by timfox

    Could Transparent Failover cause subscriber to miss out on m

    scotthkao

      I read from the online document somewhere that one distinctive added feature of JBoss Messaging(JBM) is transparent failover, i.e. failover without the client-side code to handle connection exception. But I just wonder that could there be any message lost during the transparent failover of non-durable subscriptions?

      On transparent failover in the case of non-durable subscription, is the connection exception listener triggered?
      How could the client-side code get to know the transparent failover has accomplished the failover successfully?

      Thanks in advance,
      Scott

        • 1. Re: Could Transparent Failover cause subscriber to miss out
          timfox

           

          "scotthkao" wrote:
          I read from the online document somewhere that one distinctive added feature of JBoss Messaging(JBM) is transparent failover, i.e. failover without the client-side code to handle connection exception. But I just wonder that could there be any message lost during the transparent failover of non-durable subscriptions?


          Only persistent messages in durable queues (durable subscriptions or non temporary queues) are guaranteed to survive failover.

          Non persistent messages are by their nature transient.


          On transparent failover in the case of non-durable subscription, is the connection exception listener triggered?


          If the exception listener was triggered it wouldn't be transparent ;) That's basically what transparent failover means.



          How could the client-side code get to know the transparent failover has accomplished the failover successfully?


          If we informed you about failover completion it wouldn't be transparent. If you want to use a connection listener and handle failover manually then you can just turn off transparent failover. Sounds like this is what you want to do.


          • 2. Re: Could Transparent Failover cause subscriber to miss out
            scotthkao

             

            If we informed you about failover completion it wouldn't be transparent. If you want to use a connection listener and handle failover manually then you can just turn off transparent failover. Sounds like this is what you want to do.


            So, the transparent failover of JBM can be turned off in the xml configuration file?

            I am currently developing a messaging system in which dynamic number of clients (which can not be defined and may not be predicted) can connect to my messaging system to receive messages. I think durable subscription is not feasible in my case since I can not define the client IDs beforehand and I'm not able to erase those client IDs that will never connect to use the messaging system. In fact, I am not sure of the impact of a whole lot of unreceived messages of durable subscriptions. Do you know the impacts of this? So, I chose normal subscription. In the current JB AS 4.2.x, JBMQ is shipped which allows and requires us to handle the reconnection (failover), thus lost message request can be accomplished in the manual reconnection. If you were me, would you do it this way or do you have any experienced suggestions? (Thanks a lot if you can share your experiences)

            But I heard JB AS 5.x will have JBM bundled out of the box. I'm currently thinking about of any portability problems in my case.

            Thanks,
            Scott

            • 3. Re: Could Transparent Failover cause subscriber to miss out
              timfox

               

              "scotthkao" wrote:
              So, the transparent failover of JBM can be turned off in the xml configuration file?


              Yes, this is covered in the user guide:
              http://www.jboss.org/file-access/default/members/jbossmessaging/freezone/docs/userguide-1.4.0.SP3/html/configuration.html#conf.connectionfactory.attributes.supportsfailover