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.