zhfeng commented on code in PR #22677:
URL: https://github.com/apache/shardingsphere/pull/22677#discussion_r1040443812
##########
jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/ShardingSphereDriverURL.java:
##########
@@ -72,4 +72,22 @@ public byte[] toConfigurationBytes() {
return builder.toString().getBytes(StandardCharsets.UTF_8);
}
}
+
+ private InputStream getResourceAsStream(final String resource) throws
IOException {
+ ClassLoader[] classLoaders = new ClassLoader[]{
+ Thread.currentThread().getContextClassLoader(),
getClass().getClassLoader(), ClassLoader.getSystemClassLoader(),
+ };
+ for (ClassLoader each : classLoaders) {
+ if (null != each) {
+ InputStream result = each.getResourceAsStream(resource);
+ if (null == result) {
+ result = each.getResourceAsStream("/" + resource);
+ }
Review Comment:
IIRC all `ClassLoader` uses relative path to load the resources. But in some
case of custom classloader, it might need the leading of `/`. So it makes sense
to try `resource` at first and if it fails, try `"/" + resource`.
--
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]