Some AE Java API operations do not reliably return correct and up-to-date results. For example, SearchObject may return incorrect or incomplete results if the DWP handling the SearchObject request has a stale object cache. To work around this limitation, Automic currently recommends running an SQL SELECT against the ITL table prior to running any SearchObject operation. SearchObject can be relied upon to return correct results only if the ITL table is currently empty.
The AE Java Application Interface should be able to provide guaranteed correct results without relying on direct queries of the AE DB. This applies not only to SearchObject, but also to FolderTree, FolderList, ActivityList, ObjectStatistics, and all other API classes.
This requirement is based on the assumption that it should be possible to build a reliable, production-quality application whose only interface to the Automation Engine is the Java Application Interface.
See the discussion SearchObject API class returns incomplete list of objects after run of ucybdbld