Uploaded image for project: 'JBoss ESB'
  1. JBoss ESB
  2. JBESB-262

Service dependency - recover capability. (i.e. Gateways -> Listener dependency)

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Blocker
    • Resolution: Done
    • Affects Version/s: 4.0 CR1
    • Fix Version/s: 4.0
    • Component/s: Rosetta
    • Labels:
      None
    • Estimated Difficulty:
      Low

      Description

      When a service depends on a resource that can not be discovered at when the service is coming up, the service should log a warning, sleep for a bit and try again, indefinetly, until the missing resource is found.

      For example, all gateways depend on a listerner, if the gateway comes up before that listener the current implementation pretty much dies. We should simply put the gateway in a holding pattern.

      Similarly, if during execution the JMS provider (ftp server, or any other dependency) goes off line, we should not die, but simply log, sleep and retry.

      A nice to have would be that after an n number of retries we send a notification to a place where JBossON can pick it up and notify someone of a problem,

      This behavior should be easy to implement, and should take care of the current race condition we experience.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            marklittle Mark Little added a comment -

            I agree completely. Gateways and listeners should be independently recoverable and manageable. Although the absence of one may ultimately cause a message to be lost/not delivered, it should after suitable timeouts and retries.

            JBossON isn't on the roadmap just yet, so let's leave that for now though.

            Show
            marklittle Mark Little added a comment - I agree completely. Gateways and listeners should be independently recoverable and manageable. Although the absence of one may ultimately cause a message to be lost/not delivered, it should after suitable timeouts and retries. JBossON isn't on the roadmap just yet, so let's leave that for now though.
            Hide
            tfennelly Tom Fennelly added a comment -

            The most immediately important part of this is now fixed. That is that the starting of the ESB Aware listeners is now an atomic operation i.e. you can't get your hands on an instance of the EsbListenerController without it being in a state of "Ready". The controller itself will not transition to this state until all listeners under it's control are in a state of "Ready".

            As for retries etc, I'd suggest adding a seperate issue for GA+.

            Show
            tfennelly Tom Fennelly added a comment - The most immediately important part of this is now fixed. That is that the starting of the ESB Aware listeners is now an atomic operation i.e. you can't get your hands on an instance of the EsbListenerController without it being in a state of "Ready". The controller itself will not transition to this state until all listeners under it's control are in a state of "Ready". As for retries etc, I'd suggest adding a seperate issue for GA+.

              People

              • Assignee:
                tfennelly Tom Fennelly
                Reporter:
                kurtstam Kurt Stam
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1 day
                  1d
                  Remaining:
                  Remaining Estimate - 1 day
                  1d
                  Logged:
                  Time Spent - Not Specified
                  Not Specified

                    Development