Interface PerthreadManager
-
- All Known Implementing Classes:
PerthreadManagerImpl
public interface PerthreadManager
Manages per-thread data, and provides a way for listeners to know when such data should be cleaned up. Typically, data is cleaned up at the end of the request (in a web application). Tapestry IoC has any number of objects that need to know when this event occurs, so that they can clean up any per-thread/per-request state.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
addThreadCleanupCallback(Runnable callback)
Adds a callback to be invoked whencleanup()
is invoked; callbacks are then removed.void
addThreadCleanupListener(ThreadCleanupListener listener)
Deprecated.Deprecated in 5.4, useaddThreadCleanupCallback(Runnable)
instead.void
cleanup()
Immediately performs a cleanup of the thread, invoking all callback, then discarding all per-thread data stored by the manager (including the list of callbacks).<T> PerThreadValue<T>
createValue()
Creates a value using a unique internal key.<T> ObjectCreator<T>
createValue(ObjectCreator<T> delegate)
ReturnObjectCreator
, which for each thread, the first call will use the delegateObjectCreator
to create an instance, and later calls will reuse the same per-thread instance.<T> T
invoke(Invokable<T> invokable)
Returns the result from the invocation, providing a try...finally to cleanup after.void
run(Runnable runnable)
InvokesRunnable.run()
, providing a try...finally to cleanup after.
-
-
-
Method Detail
-
addThreadCleanupListener
void addThreadCleanupListener(ThreadCleanupListener listener)
Deprecated.Deprecated in 5.4, useaddThreadCleanupCallback(Runnable)
instead.Adds a listener to the hub. All listeners are discarded at thecleanup()
.- Parameters:
listener
- to add
-
addThreadCleanupCallback
void addThreadCleanupCallback(Runnable callback)
Adds a callback to be invoked whencleanup()
is invoked; callbacks are then removed.- Parameters:
callback
-- Since:
- 5.4
-
cleanup
void cleanup()
Immediately performs a cleanup of the thread, invoking all callback, then discarding all per-thread data stored by the manager (including the list of callbacks).
-
createValue
<T> PerThreadValue<T> createValue()
Creates a value using a unique internal key.- Since:
- 5.2.0
-
createValue
<T> ObjectCreator<T> createValue(ObjectCreator<T> delegate)
ReturnObjectCreator
, which for each thread, the first call will use the delegateObjectCreator
to create an instance, and later calls will reuse the same per-thread instance. The instance is stored in thePerthreadManager
and will be released at the end of the request.- Since:
- 5.4
-
run
void run(Runnable runnable)
InvokesRunnable.run()
, providing a try...finally to cleanup after.- Since:
- 5.2.0
-
-