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

The messages can be lost in case of ESB termination

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.2 Milestone Release 3
    • Fix Version/s: 4.2.1 CP1
    • Component/s: Rosetta
    • Labels:
      None
    • Estimated Difficulty:
      Low

      Description

      Even if the ESB is using internally reliable JMS as a transport the messages can be lost during ESB termination. The reasons for this behaviour are two
      1) ESB uses internally queue sessions with AUTO_ACK flag
      2) Pick-up and deliver couriers works in different session

      Proposed solution
      1) Change flag to CLIENT_ACK
      2) JMS sessions are allocated from the pool using JMSConnectionPool.getQueueSession(). If the allocated session is stored into ThreadLocal variable and returned by the subsequent calls by the same thread and get commited on call JMSConnectionPool.closeSession() then all internal message transfers via JMS will be done in transaction - one transfer/one transaction.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  beve Daniel Bevenius
                  Reporter:
                  jpechanec Jiri Pechanec
                • Votes:
                  3 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: