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

add ci for jdk 12 and update realated docs

上级 b016ffca
......@@ -37,7 +37,7 @@ install:
script:
# default oracle jdk 10, do build and test
- switch_to_oracle_jdk10
- ./mvnw -V clean install --batch-mode
- ./mvnw -V clean install
- ./scripts/run-agent-test.sh
# open jdk 6
- jdk_switcher use openjdk6
......@@ -71,6 +71,10 @@ script:
- switch_to_open_jdk11
- ./scripts/run-junit.sh skipClean
- ./scripts/run-agent-test.sh skipClean
# open jdk 12
- switch_to_open_jdk12
- ./scripts/run-junit.sh skipClean
- ./scripts/run-agent-test.sh skipClean
# codecov
- jdk_switcher use oraclejdk8
- ./mvnw clean -V
......@@ -78,7 +82,7 @@ script:
after_success:
- codecov
- git status
- git status --ignored
# Caching Dependencies and Directories
# https://docs.travis-ci.com/user/caching/
......
......@@ -46,7 +46,7 @@
👉 The missing std Java™ lib(simple & 0-dependency) for framework/middleware,
transmitting ThreadLocal value between threads even using thread pooling components.
Support `Java` 11/10/9/8/7/6.
Support `Java` 12/11/10/9/8/7/6.
Class [`InheritableThreadLocal`](https://docs.oracle.com/javase/10/docs/api/java/lang/InheritableThreadLocal.html) in `JDK`
can transmit value to child thread from parent thread.
......
......@@ -48,13 +48,13 @@
# 🔧 功能
👉 在使用线程池等会池化复用线程的组件情况下,提供`ThreadLocal`值的传递功能,解决异步执行时上下文传递的问题。
一个`Java`标准库本应为框架/中间件设施开发提供的标配能力,本库功能聚焦 & 0依赖,支持`Java` 11/10/9/8/7/6。
一个`Java`标准库本应为框架/中间件设施开发提供的标配能力,本库功能聚焦 & 0依赖,支持`Java` 12/11/10/9/8/7/6。
`JDK`[`InheritableThreadLocal`](https://docs.oracle.com/javase/10/docs/api/java/lang/InheritableThreadLocal.html)类可以完成父线程到子线程的值传递。但对于使用线程池等会池化复用线程的组件的情况,线程由线程池创建好,并且线程是池化起来反复使用的;这时父子线程关系的`ThreadLocal`值传递已经没有意义,应用需要的实际上是把 **任务提交给线程池时**`ThreadLocal`值传递到 **任务执行时**
本库提供的[`TransmittableThreadLocal`](src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java)类继承并加强[`InheritableThreadLocal`](https://docs.oracle.com/javase/10/docs/api/java/lang/InheritableThreadLocal.html)类,解决上述的问题,使用详见[User Guide](#-user-guide)
整个库包含`TTL`核心功能、线程池修饰及`Agent`支持(`ExecutorService`/`ForkJoinPool`),只有不到 **_800 `SLOC`代码行_**,非常精小。
整个库包含`TTL`核心功能(核心用户`API`与框架/中间件的集成`API`)、线程池修饰(`ExecutorService`/`ForkJoinPool`/`TimerTask`)及其`Java Agent`支持,只有不到 **_1000 `SLOC`代码行_**,非常精小。
欢迎 👏
......
......@@ -21,7 +21,7 @@ else
fi
headInfo "test with Java 10"
runCmd "${MVN_CMD[@]}" clean install --batch-mode
runCmd "${MVN_CMD[@]}" clean install
runCmd ./scripts/run-agent-test.sh
# Java 6
......@@ -73,3 +73,13 @@ if [ -n "$JAVA11_HOME" ]; then
else
headInfo "skip Java 11 test"
fi
# Java 12
if [ -n "$JAVA12_HOME" ]; then
headInfo "test with Java 12"
export JAVA_HOME="${JAVA12_HOME}"
runCmd ./scripts/run-junit.sh skipClean
runCmd ./scripts/run-agent-test.sh skipClean
else
headInfo "skip Java 12 test"
fi
......@@ -10,27 +10,34 @@ fi
switch_to_open_jdk9() {
export JAVA_HOME=$HOME/.jdk/openjdk9
if [ ! -d "$JAVA_HOME" ]; then
"$install_jdk_bin" --feature 9 --license GPL --target $JAVA_HOME
"$install_jdk_bin" --feature 9 --license GPL --target "$JAVA_HOME"
fi
}
switch_to_oracle_jdk10() {
export JAVA_HOME=$HOME/.jdk/oraclejdk10
if [ ! -d "$JAVA_HOME" ]; then
"$install_jdk_bin" --feature 10 --license BCL --target $JAVA_HOME
"$install_jdk_bin" --feature 10 --license BCL --target "$JAVA_HOME"
fi
}
switch_to_open_jdk10() {
export JAVA_HOME=$HOME/.jdk/openjdk10
if [ ! -d "$JAVA_HOME" ]; then
"$install_jdk_bin" --feature 10 --license GPL --target $JAVA_HOME
"$install_jdk_bin" --feature 10 --license GPL --target "$JAVA_HOME"
fi
}
switch_to_open_jdk11() {
export JAVA_HOME=$HOME/.jdk/openjdk11
if [ ! -d "$JAVA_HOME" ]; then
"$install_jdk_bin" --feature 11 --license GPL --target $JAVA_HOME
"$install_jdk_bin" --feature 11 --license GPL --target "$JAVA_HOME"
fi
}
switch_to_open_jdk12() {
export JAVA_HOME=$HOME/.jdk/openjdk12
if [ ! -d "$JAVA_HOME" ]; then
"$install_jdk_bin" --feature 12 --license GPL --target "$JAVA_HOME"
fi
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册