Details

    • Type: Sub-task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: EAP_EWP 5.1.0
    • Fix Version/s: EAP_EWP 5.1.2 ER1
    • Component/s: EJB
    • Labels:
      None
    • Environment:

      JBoss EAP 5.1.0

    • Affects:
      Release Notes
    • Release Notes Text:
      Hide
      When messages were sent to a MDB which was not fully prepared to receive them, the MDB container would throw a DispatcherConnectException. Because this was a checked exception, and therefore ignored for determining transaction semantics, the transaction would commit and the messages would be acked without the MDB ever seeing the messages. The fix introduces new logic which checks that any exception is properly checked against the signature of the inflow method. Any invalid exception results in an UndeclaredThrowableException (/RuntimeException). When a RuntimeException is encountered during message inflow, the transaction is rolled back. Messages within that transaction are not acknowledged and retried at a later interval. The assumption is that the MDB is ready by that time to receive messages normally and thus normal operation resumes.
      Show
      When messages were sent to a MDB which was not fully prepared to receive them, the MDB container would throw a DispatcherConnectException. Because this was a checked exception, and therefore ignored for determining transaction semantics, the transaction would commit and the messages would be acked without the MDB ever seeing the messages. The fix introduces new logic which checks that any exception is properly checked against the signature of the inflow method. Any invalid exception results in an UndeclaredThrowableException (/RuntimeException). When a RuntimeException is encountered during message inflow, the transaction is rolled back. Messages within that transaction are not acknowledged and retried at a later interval. The assumption is that the MDB is ready by that time to receive messages normally and thus normal operation resumes.
    • Release Notes Docs Status:
      Documented as Resolved Issue

      Description

      When mdb invocation is blocked on EJBContainer.blockInvocation() in stop(), the message is not delivered to mdb but acked.

      The community JIRA is JBAS-7922.

        Gliffy Diagrams

          Attachments

          1. 5516_server.log
            178 kB
          2. jboss-ejb3-core.jar
            611 kB
          3. jboss-ejb3-core-client.jar
            185 kB
          4. jbpapp5516.zip
            335 kB
          5. server.log-20111117.txt
            5.91 MB

            Issue Links

              Activity

                People

                • Assignee:
                  wolfc Carlo de Wolf
                  Reporter:
                  tkimura Takayoshi Kimura
                  Writer:
                  Jared Morgan
                • Votes:
                  1 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: