提交 eb5220b6 编写于 作者: oldratlee's avatar oldratlee 🔥

implement ThreadLocal integration #130

上级 ea5dcb67
package com.alibaba.ttl;
/**
* TtlCopier creates the value when {@link TransmittableThreadLocal.Transmitter#capture()},
* use the created value when {@link TransmittableThreadLocal.Transmitter#replay(Object)}
*
* @see TransmittableThreadLocal.Transmitter
* @see TransmittableThreadLocal.Transmitter#capture()
* @author Jerry Lee (oldratlee at gmail dot com)
* @since 2.11.0
*/
public interface TtlCopier<T> {
/**
* Computes the value for {@link TransmittableThreadLocal}
* or registered {@link ThreadLocal}(registered by {@link TransmittableThreadLocal.Transmitter#registerThreadLocal})
* as a function of the source thread's value at the time the task
* Object is created.
* <p>
* This method is called from {@link TtlRunnable} or
* {@link TtlCallable} when it create, before the task is started
* (aka. called when {@link TransmittableThreadLocal.Transmitter#capture()}).
*
* @see TransmittableThreadLocal.Transmitter#registerThreadLocal(ThreadLocal, TtlCopier)
* @see TransmittableThreadLocal.Transmitter#registerThreadLocalWithShadowCopier(ThreadLocal)
* @see TransmittableThreadLocal.Transmitter#unregisterThreadLocal
*/
T copy(T parentValue);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册