You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently Application is a separate entity which uses Bundle, which causes a few issues
Locales, Resources and Nashorn engines, Tasks etc... live its own life and require special care when application started/updated/stopped.
Partially it is done with ApplicationInvalidator listeners, but they are asynchronous and concurrent.
Partially it is done via ConcurrentHashMap.compute* but it is deadlock prone.
Both ApplicationInvalidator and ConcurrentHashMap use application name as a key.
Most issues arise when application gets updated because two equally named bundles "coexist" in in-flight events. One tries to stop and cleanup, another tries to start and boostrap.
If application encapsulates all its services than we don't need the invalidation logic. Locale cache, Resources, Nashorn Engine and task executors will be garbage collected together with Application instance.
The text was updated successfully, but these errors were encountered:
Currently Application is a separate entity which uses Bundle, which causes a few issues
Locales, Resources and Nashorn engines, Tasks etc... live its own life and require special care when application started/updated/stopped.
Partially it is done with ApplicationInvalidator listeners, but they are asynchronous and concurrent.
Partially it is done via ConcurrentHashMap.compute* but it is deadlock prone.
Both ApplicationInvalidator and ConcurrentHashMap use application name as a key.
Most issues arise when application gets updated because two equally named bundles "coexist" in in-flight events. One tries to stop and cleanup, another tries to start and boostrap.
If application encapsulates all its services than we don't need the invalidation logic. Locale cache, Resources, Nashorn Engine and task executors will be garbage collected together with Application instance.
The text was updated successfully, but these errors were encountered: