Does this agent process large numbers of documents or other Notes objects? If so, you need to explicitly uncache them with the Recycle method. The Notes C API, which Java is calling behind the scenes, caches documents and other objects in case they are needed again. This cache is not affected by Java garbage collection, so you have to clear each element out of it explicitly when you know you are done with it. To simplify this, you might want to create wrapper classes that call Recycle in their destructor method.
If that's not the problem, then you need to do some explorations to figure out what's special about your agent that might be causing the problem.
- Use Windows tools, such as the Performance Monitor (under Control Panel / Administrative Tools / Performance) to track how much memory the application is using. This will let you see whether there's a big chunk of memory going missing after each iteration.
- Review the agent's design. Take parts out until you find the minimum code you need to reproduce the problem.
- Once you find the problem code, if the solution is not obvious, contact Lotus Support.
Dig Deeper on Java for Lotus Notes Domino
Related Q&A from Andre Guirard
Learn how you can use LotusScript and OLE to create and populate Microsoft Excel spreadsheets, as well as a little bit about Lotus Symphony. Continue Reading
Discover options you can use if you'd like external users to be able to access a workflow-based Notes Domino application through different ... Continue Reading
Learn why you may receive the error message: "Illegal circular use: Audit Trail" when trying to open Lotus Notes documents that use copied forms. Continue Reading