使用TransmittableThreadLocal保存用户的登录ID是一种可行的方案,但需要根据具体情况进行评估。
TransmittableThreadLocal是一个线程本地变量,可以在多个线程之间传递值。它的特点是在使用线程池等技术时,能够正确地传递变量值,避免出现线程复用导致的数据错乱问题。
如果你的应用程序中使用了线程池等技术,并且需要在线程之间传递用户的登录ID,那么使用TransmittableThreadLocal是一个不错的选择。这样可以确保在多个线程之间传递登录ID时不会出现数据错乱的问题。
但是,如果你的应用程序中没有使用线程池等技术,或者只有少量的线程需要访问用户的登录ID,那么使用TransmittableThreadLocal可能会带来额外的开销,不如直接将登录ID作为方法参数传递。因此,在使用TransmittableThreadLocal时需要根据具体情况进行评估和选择。