Uit de stacktracering en het codevoorbeeld lijkt het alsof je de Cayenne-stack (ServerRuntime-object) niet opnieuw gebruikt, maar in plaats daarvan elke keer een nieuwe maakt. Dit is niet alleen traag, maar introduceert ook een bronlek. Elke ServerRuntime heeft zijn eigen verbindingspool die u niet afsluit. Dus vroeg of laat wordt de PostreSQL-server overspoeld met open verbindingen.
De oplossing is om ServerRuntime om te zetten in een app-scoped singleton (bijvoorbeeld door er een statische var van AccountsDBRuntime van te maken) en deze opnieuw te gebruiken wanneer je een nieuwe ObjectContext nodig hebt.