diff --git a/CHANGES.md b/CHANGES.md index e848df89b..4a469eb97 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,6 +13,7 @@ Release Notes. #### Documentation +* Add a section in `Bootstrap-plugins` doc, introducing HttpURLConnection Plugin compatibility. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/138?closed=1) diff --git a/docs/en/setup/service-agent/java-agent/Bootstrap-plugins.md b/docs/en/setup/service-agent/java-agent/Bootstrap-plugins.md index 415ebcdb2..c90214482 100644 --- a/docs/en/setup/service-agent/java-agent/Bootstrap-plugins.md +++ b/docs/en/setup/service-agent/java-agent/Bootstrap-plugins.md @@ -5,4 +5,17 @@ For using these plugins, you need to put the target plugin jar file into `/plugi Now, we have the following known bootstrap plugins. * Plugin of JDK HttpURLConnection. Agent is compatible with JDK 1.8+ * Plugin of JDK Callable and Runnable. Agent is compatible with JDK 1.8+ -* Plugin of JDK ThreadPoolExecutor. Agent is compatible with JDK 1.8+ \ No newline at end of file +* Plugin of JDK ThreadPoolExecutor. Agent is compatible with JDK 1.8+ + +### HttpURLConnection Plugin Notice +The plugin of JDK HttpURLConnection depended on `sun.net.*`. When using Java 9+, You should add some JVM options as follows: + +| Java version | JVM option | +|--------------|--------------------------------------------------------------------------------| +| 9-15 |Nothing to do. Because `--illegal-access` default model is permitted. | +| 16 |Add `--add-exports java.base/sun.net.www=ALL-UNNAMED` or `--illegal-access=permit` | +| 17+ |Add `--add-exports java.base/sun.net.www=ALL-UNNAMED` | + +For more information +1. [JEP 403: Strongly Encapsulate JDK Internals](https://openjdk.org/jeps/403) +2. [A peek into Java 17: Encapsulating the Java runtime internals](https://blogs.oracle.com/javamagazine/post/a-peek-into-java-17-continuing-the-drive-to-encapsulate-the-java-runtime-internals) \ No newline at end of file