com.alibaba:transmittable-thread-local 组件安全漏洞及健康度分析

文章更新时间:2023-09-22 16:00

com.alibaba:transmittable-thread-local

组件简介

维护者alibaba 组织许可证类型Apache-2.0
首次发布2016 年 2 月 15 日最新发布时间2023 年 7 月 5 日
GitHub Star6791GitHub Fork1620
依赖包207依赖存储库821

TTL(transmittable-thread-local)是一个线程间传递ThreadLocal,异步执行时上下文传递的解决方案。整个库的核心是构建在TransmittableThreadLocal类(继承并加强InheritableThreadLocal类)之上,同时包含线程池修饰(ExecutorService/ForkJoinPool/TimerTask)以及Java Agent支持,代码小于1k行,短小精悍。

官方仓库:https://github.com/alibaba/transmittable-thread-local#dummy

参考链接:

https://mvnrepository.com/artifact/com.alibaba/transmittable-thread-local

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.alibaba:transmittable-thread-local

组件健康度

技术健康度该组件提供了一个强大的功能,即在使用线程池等会池化复用线程的执行组件情况下,提供 ThreadLocal 值的传递功能,解决异步执行时上下文传递的问题。该功能是一个 Java 标准库本应为框架/中间件设施开发提供的标配能力,但 JDK 的 InheritableThreadLocal 类无法满足这一需求。该组件的核心功能只有 ~1000 SLOC 代码行,非常精小,且无依赖。该组件支持 Java 6~21 ,并且提供了 Java Agent 的支持,可以无侵入地修饰 JDK 线程池实现类。该组件的技术健康度非常高,具有很强的实用性和通用性。
社区健康度该组件是阿里巴巴开源的一个项目,目前在 GitHub 上有 6.8k 个星标,1.6k 个分支,20 个问题和 4 个拉取请求。该项目有 34 个贡献者,其中主要贡献者是 wuwen5 ,他负责了大部分的代码提交和维护工作。该项目还有一些知名的用户,如阿里巴巴、蚂蚁金服、美团、滴滴、京东、网易等。该项目的社区健康度较高,有一定的关注度和影响力。
更新和维护频率该组件的最新版本是 v3.0.0 ,目前还在开发中,还没有发布。v3 的版本说明、工作项列表及其进展,可以参见 issue 432 。v3 的主要目标是提升性能、简化 API 和增加新特性。该组件的上一个稳定版本是 v2.15.0 ,发布于 2021 年 9 月 30 日。v2 的版本主要是修复一些 bug 和兼容性问题,以及升级一些依赖和插件。该组件的更新和维护频率较为适中,不断完善和优化自身功能。
兼容性该组件支持 Java 6~21 ,并且提供了 Java Agent 的支持,可以无侵入地修饰 JDK 线程池实现类。该组件还提供了一些集成 API ,可以与一些常用的框架/中间件进行集成,如 Hystrix 、 Dubbo 、 Log4j2 等。该组件还提供了一个 Kotlin 模块,可以方便地在 Kotlin 中使用 TTL 。该组件的兼容性较好,可以适应不同的环境和场景。
文档和支持该组件提供了详细的英文文档和中文文档 ,介绍了其功能、需求场景、使用指南、API 文档、Maven 依赖、FAQ 等内容。文档内容丰富而清晰,易于理解和使用。该组件还提供了一些相关资料,如演讲视频、博客文章、论文等,可以帮助用户更深入地了解其原理和应用。如果用户遇到问题或建议,可以通过 GitHub 的 issue 功能进行反馈和交流。该组件的文档和支持较为完善,可以满足用户的不同需求。

com.alibaba:transmittable-thread-local 该组件是一个提供了 ThreadLocal 值的传递功能的 Java 标准库,具有很强的实用性和通用性。该组件的技术健康度、社区健康度、更新和维护频率、兼容性、文档和支持都较为优秀,可以说是一个非常健康的组件。该组件适合于在使用线程池等会池化复用线程的执行组件情况下,需要解决异步执行时上下文传递问题的场景。如果您有这样的需求,可以尝试使用该组件,相信它会给您带来便利和效率。

参考链接:

https://github.com/alibaba/transmittable-thread-local

https://zhuanlan.zhihu.com/p/113388946

https://blog.csdn.net/weixin_38336658/article/details/105914390

https://www.cnblogs.com/JohnsonLiu/p/15733680.html

组件许可证解读

Apache License 2.0 是一种开源软件许可证,广泛用于授权开源项目和代码。Apache License 2.0 允许用户自由地使用、修改和分发受许可的软件,而无需支付版权费用或专利费用。它鼓励开发者共享他们的代码,并保护用户的权利。以下是该许可证的一些重要特点:

  1. 代码使用权:用户可以自由地使用、复制、修改、合并、发布、分发和销售受许可软件。
  2. 版权声明:用户必须在所有源代码副本中保留原始的版权声明、许可证声明和免责声明。
  3. 修改代码:如果用户对代码进行了修改,需要清楚标明哪些部分发生了变化,并不能暗示原作者同意这些修改。
  4. 商标使用:Apache License 2.0 并未授予使用原软件的任何商标或名称的权利。
  5. 专利许可:该许可证授予了在使用、修改或分发受许可软件时相关专利的非独占许可。这意味着如果用户授权其他人使用该软件,相关专利许可也会传递给接收方。
  6. 再许可:用户可以将受 Apache License 2.0 许可的代码作为一部分整合到其它开源项目中,并使用不同的许可证授权整个项目。但是,需要在代码中显式地说明使用了 Apache License 2.0 许可的部分。

需要注意的是,Apache License 2.0 并不保证软件没有缺陷或不稳定性,使用该软件的风险由用户自行承担。

许可证原文链接:https://github.com/alibaba/transmittable-thread-local/blob/master/LICENSE

组件漏洞版本及修复方案

暂无

同类型可替代组件

组件SBOM

组件名称版本是否直接依赖仓库
org.jetbrains.kotlin:kotlin-stdlib-jdk81.9.10maven
com.alibaba.ttl3:ttl-core3.x-SNAPSHOTmaven
org.jetbrains.kotlin:kotlin-stdlib-jdk71.9.10maven
com.github.spotbugs:spotbugs-annotations4.7.3maven
org.javassist:javassist3.29.2-GAmaven
org.jetbrains.kotlin:kotlin-stdlib1.9.10maven
org.jetbrains:annotations24.0.1maven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1705105612786499584/1705105613294010368?allow=1

(0)
上一篇 2023年9月22日 下午3:54
下一篇 2023年9月25日 下午2:04

相关推荐

  • com.hazelcast:hazelcast 组件安全漏洞及健康度分析

    文章更新时间:2023-09-27 17:50 组件简介 维护者 hazelcast 组织 许可证类型 Apache-2.0 首次发布 2009 年 2 月 27 日 最新发布时间 2023 年 8 月 21 日 GitHub Star 5572 GitHub Fork 1779 依赖包 595 依赖存储库 10,433 Hazelcast是一种内存数据网格…

    2023年9月27日
    0
  • org.slf4j:slf4j-api 组件安全漏洞及健康度分析

    文章更新时间:2023年8月23日 17:40 组件简介 维护者 qos-ch组织 许可证类型 MIT 首次发布 2009 年 8 月 21 日 最新发布时间 2023 年 3 月 22 日 依赖包 54,026 依赖存储库 309,657 Docker 依赖数 30,608 Docker 下载量 14,241,218,755 Java 的简单日志门面(SL…

    2023年8月24日
    0
  • com.alibaba:QLExpress 组件安全漏洞及健康度分析

    文章更新时间:2023-09-21 14:30 组件简介 维护者 alibaba 组织 许可证类型 Apache-2.0 首次发布 2018 年 1 月 4 日 最新发布时间 2023 年 9 月 9 日 GitHub Star 4287 GitHub Fork 1091 依赖包 18 依赖存储库 114 QLExpress是一种强大,轻量级,动态的Java…

    2023年9月21日
    0
  • com.graphql-java:graphql-java 组件安全漏洞及健康度分析

    文章更新时间:2023-09-27 16:20 组件简介 维护者 graphql-java 组织 许可证类型 MIT 首次发布 2018 年 6 月 4 日 最新发布时间 2021 年 5 月 23 日 GitHub Star 5933 GitHub Fork 1118 依赖包 365 依赖存储库 1,689 com.graphql-java:graphql…

    2023年9月27日
    0
  • com.google.guava:guava 组件安全漏洞及健康分析

    文章更新时间:2023-08-28 18:00 组件简介 维护者 google组织 许可证类型 Apache-2.0 首次发布 2010 年 4 月 26 日 最新发布时间 2023 年 8 月 1 日 GitHub Star 48189 GitHub Fork 10716 依赖包 28,694 依赖存储库 219,576 Guava 是 Google 的一…

    2023年8月28日
    0