Interface UpdateListenerHub

All Known Implementing Classes:
UpdateListenerHubImpl

public interface UpdateListenerHub
Manages a set of UpdateListeners. 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 Type
    Method
    Description
    void
    Adds a listener.
    void
    Invoked periodically to allow services to check if underlying state has changed.
  • Method Details

    • addUpdateListener

      Adds a listener.
    • 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 implement InvalidationEventHub) when such a change occurs.