FYI, if you have CardSchema schema loaded then there is a simple method that can be invoked (regardless of whether JADECare managed or not) which will provide the number of transient objects by class remaining.
If CardSchema is a super-schema then by simply invoking app.cnCheckForTransients, this will log the details into the cn_log (defined in ini file in CardLog section).
You can also add logic into re-implemented methods on Application sub-class titled:
- zCnUser_TransientsToIgnore - where you can define which, if any, transient objects to ignore from this list
- zCnUser_ViewTransientObjects - where you can define logic to act on any transients ie list them and when the object was created, the creation time perhaps giving a clue as to what logic may have done the creation.
If your JADE applications invoke app.cnActivateKarmaCntrl then all you need do is set [CardLog] CheckTransientsOnShutDown=true and this will be automatically performed in your application finalize.
If your JADE applications do NOT invoke app.cnActivateKarmaCntrl and CardSchema is a super-schema then the following logic will effect the logging:
create app.myCnCntrl transient; // provides the logging singleton CnCntrl
app.cnCheckForTransients();
....
epilog
delete app.myCnCntrl;
Refer to the CardSchema user guide which accompanies each release.
The JADECare Start package (contains CardSchema schema and documentation) is freeware and can be downloaded from
https://www.jadeworld.com/developer-cen ... jade-care/