2 Replies Latest reply on Mar 16, 2009 11:20 AM by adrian.brock

    Is there a way to force all messages to be persisted?

      Hi... is there a way to persist all messages instead of use Memory Cache?

      I've change my \deploy-hasingleton\jms\mssql-jdbc2-service.xml and setted HighMemoryMark and MaxMemoryMark to 0, but I still can't see the messages in JMS_Messages table

      I'm using Jboss 4.0.5GA.

      Thank you

        • 1. Re: Is there a way to force all messages to be persisted?
          b.eckenfels

          You must do somethign wrong, JbossMQ is keeping all messages always in the tables. The Cache is only in addition to that. The normal Persitence Manager can not even skip the persitence for temp messages, you need to use a different PM for that.

          • 2. Re: Is there a way to force all messages to be persisted?

             

            "ranieri85" wrote:
            Hi... is there a way to persist all messages instead of use Memory Cache?

            I've change my \deploy-hasingleton\jms\mssql-jdbc2-service.xml and setted HighMemoryMark and MaxMemoryMark to 0, but I still can't see the messages in JMS_Messages table


            It won't persist messages if you are sending them to a non-durable destination,
            this is regardless of the persistent flag on the message.
            e.g. a non-durable topic subscription never survives a reboot so there's no need
            to persist messages.
            See the explanation on the WIKI on when messages are considered persistable.

            P.S. I'm surprised your config doesn't throw an error, since part of the calculation
            requires dividing by the difference between the high and max mark?

             // we need to get more aggresive... how much?? lets get
             // a mesurment from 0 to 1
             float severity = ((float) (currentMem - highMemoryMark)) / (maxMemoryMark - highMemoryMark);