2 Replies Latest reply on Jul 29, 2010 12:07 PM by bozhidar

    State "+" in table JBM_MSG_REF

    bozhidar

      Hi, everyone,

       

      We're using JBoss AS 5.1.0.GA + JBM 1.4.6 and we had a problem today resulting in some messages ending up with state '+' in the JBM_MSG_REF table. I know that this is an internal table for the JBM server, but I monitor it from time to time to look for potential problems. As far as I know if all is OK all messages should have a state "C"(according to this post  http://community.jboss.org/message/529254#529254 -  'C' marks the message as a normal message (not in any transaction scope)).. Could someone please explain what this state "+" means and how can the messages in it be recovered?

       

      I was also wondering if there are other states besides "+" and "C" and what do they mean.

       

      Thanks in advance for your help.

        • 1. Re: State "+" in table JBM_MSG_REF
          gaohoward

          The state field has 3 possible values, "C", "+" and "-".

           

          As you already know "C" means a normal message, "+" means the message is sent to a destination within a XA transaction and the transaction is prepared (but not committed). "-" means the message is delivered to a receiver within a XA transaction and the transaction is prepared (but not committed).

           

          In transaction recovery, JBM knows which messages belongs to which prepared transaction and how the message will be processed based on the state field.

          • 2. Re: State "+" in table JBM_MSG_REF
            bozhidar

            Thanks for the quick response.

             

            What happens if the container died(for example due to JVM heap memory exhaustion) and and as a result we have such messages with uncommitted transactions? Will JBM handle them automatically or an user intervention is required to recover them?