-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何实现完成线程传递后的初始化操作 #383
Comments
线程传递时如何初始化
@fengzidk 线程传递的初始化:
关于初始化方法相关的初始化方法还有 这3个初始化方法 的区别是 做初始化操作的 生命周期时间点/触发时间 不同:
不同初始化方法是独立正交的这里可能值得强调一下这3个初始化方法的容易被忽视的地方:3个方法是独立正交的。 展开一些的说明如下:
更多相关讨论参见
系统设计最佳实践:结合业务扩展重写初始化方法,而不是用无业务含义的缺省实现在 即初始化方法没有重写,结果是在用无业务含义的缺省实现:
这样的做法,导致 上面提到的『通过
写一个示意Demo可以这样;但作为实际系统实现, 强烈推荐:结合业务与不同初始化方法的生命周期时间点 扩展重写好 相应的初始化方法。用于重写初始化方法的
|
根据业务场景,在线程传递完成后需要进行一些默认的初始化操作
例如: 根据传递的ThreadLocal值 初始化子线程的数据源信息
目前
TransmittableThreadLocal.set()
方法不允许被重写,如何在不修改源码的前提下实现?The text was updated successfully, but these errors were encountered: