0 Replies Latest reply on Feb 2, 2002 2:31 PM by Alex

    PERSISTENT messages not delivered

    Alex Newbie

      I am having trouble tracking down a bug with PERSISTENT messages not being delivered. The problem only occurs when the client receiving the messages is under high load.
      Here is the code used to send the messages:

      topicPublisher.publish(msg, DeliveryMode.PERSISTENT, Message.DEFAULT_PRIORITY, 172800000L);

      and the code used to receive the messages:

      while(ready) {
        Message msg = subscriber.receive();

        if (msg != null) {
          //... do something
        }
      }

      In my testing I've discovered that when the client is under high load, sometimes the receive() just blocks indefinitely without delivering a message. I know the message is getting delivered to the topic because I have a different client (a MessageBean) that does correctly receive the message.

      The subscriber is NOT a durable subscription, but I still should be getting the once-and-only-once semantics that PERSISTENT requires while the subscription is alive. The relevant parts of my jboss.jcml file looks like:


        ../../db/jbossmq/




      However, I've noticed that the db/jbossmq directory does not have any files for the messages that I've sent. Should it have them?

      Any help solving this problem is greatly appreciated. This is currently a show-stopper bug preventing us from going live with a major enterprise app.