Announcement Announcement Module
Collapse
No announcement yet.
Infinite loop setting a handler after a router Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Infinite loop setting a handler after a router

    Hi all

    I have detected a serious bug. If i put a handler after a router, the handler's return causes an infinite loop (or StackOverflow).

    I have modified cafe demo putting a emtpyHandler after the Router and before coldDrinks handler.

    I have attached the zipped example.

    Obviously the error has been detected in other project, where causes a StackOverflow Exception, but because the size i cannot attach it.

  • #2
    Are you running with the M6 release? If so, I believe you are experiencing this issue: http://jira.springframework.org/browse/INT-358

    Unfortunately it was discovered very shortly after that release but it was fixed immediately. As mentioned in JIRA, if using any components after a router, any release from continuous integration build #1009 onward will avoid this problem (committed on August 23rd): https://fisheye.springframework.org/...ation/?cs=1009

    Comment


    • #3
      Yes, it's the same problem. Thanks

      Comment


      • #4
        Where can i download continuous integration builds?

        Comment


        • #5
          You can get the link from the Integration homepage:
          http://www.springframework.org/spring-integration

          You can for example get their latest trunk from:
          https://src.springframework.org/svn/spring-integration/

          If you are using eclipse you need to install the Ivy plugin for the required dependencies. All you need is to start the ant script as mentioned here:
          http://forum.springframework.org/showthread.php?t=60435

          Tai

          Comment


          • #6
            Or if you are only interested to solved this infinite loop then you should get the M6 source for MessageBuilder and change the method isEligibleForCopying() (as I mentiond in http://jira.springframework.org/browse/INT-358):

            Code:
                private boolean isEligibleForCopying(String key) {
                    return !(key.equals(MessageHeaders.ID)
                            || key.equals(MessageHeaders.TIMESTAMP)
                            || key.equals(MessageHeaders.NEXT_TARGET));
                }
            Attach you can also download my patch .

            Comment

            Working...
            X