The DevTest Broker uses a message queue to communicate with all other DevTest components, the DevTest java agents and the CICS/LPAR agents. When this queue becomes full, this Exception is thrown:
com.itko.jms.ResourceAllocationException: Usage Manager memory limit (xxxxxxx) reached. Stopping producer (ID:yyyyy:y:y) to prevent flooding topic://lisa.agent.info. See http://activemq.apache.org/producer-flow-control.html for more info
xxxxxx = Broker's heap size
yyyyy:y:y = the message producer who's message could not be placed in the queue.
All supported DevTest platforms.
Because messages fill the broker's queue from several different sources, there are several root causes. The key to correcting this issue is finding the source of the invalid/troublesome message. Examples:
- Java and CICS Agents: The agents need to be the same version as the broker. The message format can change between DevTest versions and the broker may not understand messages from other versions.
- Database Issues: Captured transactions from java and CICS agents are written to the database. If there are database issues, the messages cannot be removed from the queue.
- VSE and Coordinator: A Virtual Service or test throwing several errors can produce many messages. With enough errors, these messages can overwhelm the broker's queue.
Determine the root cause.
Additional documents will be created, as needed, detailing solutions for each root cause.
- In which log file is the Exception found?
- When does the Exception occur? During testing, capturing transactions, hitting the VSE, etc...
- Are additional Exceptions or Errors found in other logs.
- Is the broker running with default memory settings? If so, consider increasing the broker's memory.
- Narrow down the cause to a particular DevTest component.
- Not starting the broker will mask, but not solve, the issue. This is usually not a valid solution.