Interface UpdateListenerHub
- All Known Implementing Classes:
UpdateListenerHubImpl
public interface UpdateListenerHub
Manages a set of
UpdateListener
s. Periodically (say, every request during
development, or every minute or so during production), request processing is locked down so that only a single thread
is active, and the active thread invokes fireCheckForUpdates()
. Various services that are dependent on
external resource files (such as classes or template files) can check to see if any file they've used has changed. If
so, the service can invalidate its internal cache, or notify other services (typically via
InvalidationListener
that they should do the same.
Note that this interface has moved from module tapestry-core to tapestry-ioc. It was, however, not possible to keep
the same package (for backwards compatibility reasons) without causing a split package (in terms of Java 9 Modules).
A weak reference to the listener is kept; this ensures that registering as a listener will not prevent a
listener instance from being reclaimed by the garbage collector (this is useful as proxies created by
ObjectLocator.proxy(Class, Class)
may register as listeners, but still be ephemeral).
Starting in Tapestry 5.3, this services does nothing in production mode.- Since:
- 5.1.0.0
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addUpdateListener
(UpdateListener listener) Adds a listener.void
Invoked periodically to allow services to check if underlying state has changed.
-
Method Details
-
addUpdateListener
Adds a listener. -
fireCheckForUpdates
void fireCheckForUpdates()Invoked periodically to allow services to check if underlying state has changed. For example, a template file may have changed. Listeners will typically notify applicable listeners of their own (they usually implementInvalidationEventHub
) when such a change occurs.
-