linghengqian commented on code in PR #36037:
URL: https://github.com/apache/shardingsphere/pull/36037#discussion_r2218442109


##########
docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md:
##########
@@ -16,18 +16,22 @@ ShardingSphere JDBC requires GraalVM Native Image to be 
built with GraalVM CE as
 JDK through `SDKMAN!`. Same reason applicable to downstream distributions of 
`GraalVM CE` such as https://sdkman.io/jdks#graal ,
 https://sdkman.io/jdks#nik and https://sdkman.io/jdks#mandrel .
 
-- GraalVM CE For JDK 22.0.2, corresponding to `22.0.2-graalce` of SDKMAN!
+- GraalVM CE For JDK 24.0.2, corresponding to `24.0.2-graalce` of SDKMAN!
 
-Users can still use the old versions of GraalVM CE such as `21.0.2-graalce` on 
SDKMAN! to build the GraalVM Native Image product of ShardingSphere. 
-However, this will cause the failure of building the GraalVM Native Image when 
integrating some third-party dependencies. 
-A typical example is related to the `org.apache.hive:hive-jdbc:4.0.1` 
HiveServer2 JDBC Driver, which uses AWT-related classes. 
-GraalVM CE only supports AWT for GraalVM CE For JDK22 and higher versions.
+Users can still use old versions of GraalVM CE such as `21.0.8-graal` on 
SDKMAN! to build ShardingSphere's GraalVM Native Image product.
+But this will cause the failure of building GraalVM Native Image when 
integrating some third-party dependencies.
+Classification discussion,
+1. Developers are using `org.apache.hive:hive-jdbc:4.0.1` related to 
HiveServer2 JDBC Driver. Since HiveServer2 JDBC Driver uses AWT-related classes,
+   and `GraalVM CE`'s support for AWT-related classes is only in GraalVM CE 
For JDK22 and higher, this will destroy the construction of GraalVM Native 
Image.
 
 ```shell
 com.sun.beans.introspect.ClassInfo was unintentionally initialized at build 
time. To see why com.sun.beans.introspect.ClassInfo got initialized use 
--trace-class-initialization=com.sun.beans.introspect.ClassInfo
 java.beans.Introspector was unintentionally initialized at build time. To see 
why java.beans.Introspector got initialized use 
--trace-class-initialization=java.beans.Introspector
 ```
 
+2. The developer is using an old version of `GraalVM CE` or a downstream 
distribution of `GraalVM CE` that does not include the backported patch of 
https://github.com/graalvm/graalvm-community-jdk21u/pull/23 .
+   In this case, the developer needs to write more JSON related to GraalVM 
Reachability Metadata that can be recognized by the old version of `GraalVM CE`.
+

Review Comment:
   - I have to hazard a guess that most downstream releases of GraalVM CE Fork 
JDK 21 include the backported patches from 
https://github.com/graalvm/graalvm-community-jdk21u/pull/23 , since there are 
only 3 downstream releases of GraalVM CE that actually use the concept of LTS.
     - https://sdkman.io/jdks/graal
     - https://sdkman.io/jdks/nik
     - https://sdkman.io/jdks/mandrel 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to