Transmittable Thread Local Versions Save

πŸ“Œ a missing Java std lib(simple & 0-dependency) for framework/middleware, provide an enhanced InheritableThreadLocal that transmits values between threads even using thread pooling components.

v2.12.5

2 years ago

Java support

Change Log

Bug Fix

  • fix ClassCastException from PriorityBlockingQueue when use TTL Agent
    • for issue #361 submitted by @fzdwx
    • this is a bug introduced by the feature of v2.12.3

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.5/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.5</version>
</dependency>

v2.12.4

2 years ago

Java support

[!CAUTION] Version 2.12.4 🦎 is Deprecated! use version 2.12.5οΌ‹ instead.

Change Log

New Features

  • add new non-overloaded methods in TtlWrappers
    • contributed by @huangfei1101 from PR #342 #344 ❀️
    • new methods: wrapSupplier, wrapConsumer, wrapBiConsumer, wrapFunction and wrapBiFunction
    • javadoc

Improvements

  • add demo code CustomizedBlockingQueueWithTtlDemo
    • for issue #340 submitted by @simake2017
  • improve javadoc wording and format
  • upgrade maven wrapper to 3.8.4
  • upgrade dependencies/plugins

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.4/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.4</version>
</dependency>

v2.12.3

2 years ago

Java support

Change Log

[!CAUTION] Version 2.12.3 🦎 is Deprecated! use version 2.12.5οΌ‹ instead.

New Features

  • new API: TransmittableThreadLocal.withInitialAndCopier static method, javadoc
  • Support PriorityBlockingQueue with ThreadPoolExecutor Avoid ClassCastException(TtlRunnable cannot be cast to Comparable) problem for combination usage: (issues #330 #290 #178 submitted by @outh0527 @KevinQian @wangchongya)
    • use java.util.concurrent.PriorityBlockingQueue for java.util.concurrent.ThreadPoolExecutor
    • TTL: API or Agent(TtlExecutorTransformlet)
    • new APIs
      • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparator, javadoc
      • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparatorForComparableRunnable, javadoc
    • new TTL Transformlet: com.alibaba.ttl.threadpool.agent.internal.transformlet.impl.TtlPriorityBlockingQueueTransformlet
    • Demo Code: TtlExecutorServiceWithPriorityBlockingQueueDemo

Improvements

  • fix: work-around ClassCircularityError (issues #278 #234 submitted by @linfan @kun1988)
  • upgrade dependencies/plugins

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.3/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.3</version>
</dependency>

v2.12.3-RC1

2 years ago

Java support

Change Log

New Features

Support PriorityBlockingQueue with ThreadPoolExecutor.
Avoid ClassCastException(TtlRunnable cannot be cast to Comparable) problem for combination usage:

  • use java.util.concurrent.PriorityBlockingQueue for java.util.concurrent.ThreadPoolExecutor ThreadPoolExecutor
  • use TTL: API or Agent(TtlExecutorTransformlet)

  • new APIs
    • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparator, javadoc
    • com.alibaba.ttl.threadpool.TtlExecutors#getTtlRunnableUnwrapComparatorForComparableRunnable, javadoc
  • new TTL Transformlet: com.alibaba.ttl.threadpool.agent.internal.transformlet.impl.TtlPriorityBlockingQueueTransformlet

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.3-RC1/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.3-RC1</version>
</dependency>

v2.12.2

2 years ago

Java support

Change Log

New Features

  • add TransmittableThreadLocal.withInitial static method
    • for #315 submitted by @Razor0719

Improvements

  • avoid ConcurrentModificationException even adjust TTL instances in biz lifecycle callbacks
    • for #293 submitted by @wmq930626 @Markkkkks
  • fix getDefaultDisableInheritable*ThreadFactory annotation: @Nullable -> @NonNull
  • upgrade dependencies
  • improve doc & javadoc πŸ“š
  • code cleanup

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.2/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.2</version>
</dependency>

v2.13.0-Beta1

3 years ago

[!CAUTION] This is a deprecated BETA version, DO NOT use❗️ The update content is NOT released in v2.x, and is developing on TTL v3.

Change Log

New Features

  • support TTL Agent extension Transformlet 🧩
    • sample project for TTL Agent extension Transformletdevelopment
    • Open whole agent package for TTL Agent extension Transformlet development πŸ”“
  • support TTL Agent configuration by JVM -D property
  • add new TTL option getter methods in TtlAgent

Improvements

  • fix getDefaultDisableInheritable*ThreadFactory annotation: Nullable -> NonNull

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.13.0-Beta1/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.13.0-Beta1</version>
</dependency>

v2.12.1

3 years ago

Java support

This version contains no new feature or bug fix but cleanup and documentation.

Change Log

Cleanups/Improvements

  • improve doc & javadoc πŸ“š
  • code cleanup
  • upgrade dependencies/maven plugins
  • add/upgrade CI jdks
  • fix codecov in CI β˜‚οΈ

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.1/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.1</version>
</dependency>

v2.12.0

3 years ago

Java support

Change Log

New Features

  • TtlExecutors support idempotency
    • the wrapper Executors can be cooperated with the usage of "Decorate Runnable and Callable". 🀝
    • about idempotency: if is idempotent, allowed submit the TtlRunnable/TtlCallable to the wrapper Executor; otherwise throw IllegalStateException.

Improvements

  • improve doc & javadoc πŸ“š
  • code cleanup
  • adjust javassist shaded package:
    com.alibaba.ttl.internal.javassist -> com.alibaba.ttl.threadpool.agent.internal.javassist
  • improve ForkJoinPoolDemo and ParallelStreamDemo/add TtlForkJoinTaskDemo
  • upgrade dependencies

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.12.0/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.12.0</version>
</dependency>

v2.11.5

3 years ago

Change Log

Bug Fix ‼️

  • fix bug: WeakHashMap in Snapshot led to captured values GCed before replay unexpectedly
    • Rollback "use WeakHashMap instead of HashMap for capture/backup snapshot" in v2.11.0
    • Affect versions v2.11.0 ~ v2.11.4, DO NOT use these versions, DO upgrade‼️

Improvements

  • using SDKMAN in Travis CI #163 πŸ‘¨β€πŸš’

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.11.5/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.11.5</version>
</dependency>

v2.11.4

4 years ago

Change Log

[!CAUTION] Version 2.11.4 🦎 is Deprecated! use version 2.11.5οΌ‹ instead.

Features

  • add TTL Wrapper for common Functional Interfaces 🌈
    • for #162 submitted by @liuzhongkai

Improvements

  • rename private methods of TTL
  • add TTL koroutine intergration demo 🍩
  • add CoroutineThreadLocalAsContextElementTest
  • improve docs/javadoc πŸ“š

Java API Doc

https://alibaba.github.io/transmittable-thread-local/apidocs/2.11.4/index.html

Maven dependency

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>transmittable-thread-local</artifactId>
    <version>2.11.4</version>
</dependency>