Kbase 21769: The Store Size Limit Has Been Reached -- Client Persistence
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  2/11/2002 |
|
SUMMARY:
This Solution applies to SonicMQ 4. It discusses the Client Persistence feature, and possible reasons for the exception:
javax.jms.JMSException: The store size limit has been reached
EXPLANATION:
The Client Persistent feature enables client-based logging of messages sent until the broker connection is established. With the Client Persistent feature implemented, if the Client looses connection to the Broker while sending messages, Persistent Store files are created on the client machine, then messages are sent to a Persistent Store file rather than to a SonicMQ Broker.
The Persistent Store is a set of files in a directory name specified by the user in association with a JMS Connection. The client uses the files to store messages and manage their delivery to the SonicMQ Broker. Persistent Store files are placed in the directory specified by the method, setLocalStoreDirectory (String name). File names are:
- ClientRecoveryLog1.bin
- ClientRecoveryLog2.bin
- F0000000001.bin (or/and F0000000002.bin etc..)
The file F0000000001.bin stores messages rejected by the Broker. The other files are the recovery files for logging restart information.
The size of F0000000001.bin is defined with the method called setLocalStoreSize (long size) at the application level.
If the amount of messages sent to the Persistent Store file exceeds the size of the Persistent Store file then these messages will appear:
javax.jms.JMSException: The store size limit has been reached
at progress.message.jimpl.JMSExceptionUtil.createJMSException(Unknown So
urce)
at progress.message.jimpl.TopicPublisher.internalPublish(Unknown Source)
at progress.message.jimpl.TopicPublisher.publish(Unknown Source)
at ContinuousPublisher.publisher(ContinuousPublisher.java:103)
at ContinuousPublisher.main(ContinuousPublisher.java:324)
SOLUTION:
In the SonicMQ application that implements Client Persistence, increase the maximum size of the local store in the method:
setLocalStoreSize (long size);
References to Written Documentation:
SonicMQ 4 Programming Guide
Example provided by SonicMQ Installation available in %sonicMQ%\samples\ExtendedClient\LocalStore