It's always undesirable, or even unacceptable, for some applications to be restarted on metadata changes. Meta Facility clearly addressed this issue and provided elegant solutions to this problem.
To improve inquirying performance, Meta Facility caches metadata resources from the underlying XML storages. And Meta Facility's cache is memory sensitive, that cached data will be released on new memory requirements. But the actual schedule to release the cached data is transparently managed by the Garbage Collector of the running JVM. Because Meta Facility cache is implemented by keeping WeakReference s to such cached resources.
To be able to force reload metadata, Meta Facility also provides programmatic methods to clear its caches thus reload in a explicit way.
This happens when the Java Garbage Collector clears the WeakReference s held by Meta Facility.
MetaBundle and MetaRepository both have a
reload()
method, used to clear the caches.