Registered as an invalidation listener with the page loader, the component messages source, and the component template source. Any time any of those notice a change, then the entire page pool is wiped.
The master page pool is, itself, divided into individual sub-pools, one for each combination of
This code is designed to handle high volume sites and deal with request fluctuations.
A
soft limit on the number of page instances is enforced. Asking for a page instance when the soft limit has been reached (or exceeded) will result in a delay until a page instance (released from another thread) is available. The delay time is configurable.
A
hard limit on the number of page instances is enforced. This number may not be exceeded. Requesting a page instance when at the hard limit will result in a runtime exception.
As an {@link org.apache.tapestry5.internal.events.UpdateListener}, the service will reduce the size of each page's pool by eliminating pages that haven't been used recently.
@see org.apache.tapestry5.internal.services.PagePoolCache