commit | f725cd45fbac52367b8e20903e57925f2b3431d3 | [log] [tgz] |
---|---|---|
author | 吴伟杰 <wuweijie@apache.org> | Thu Dec 24 16:50:47 2020 +0800 |
committer | 吴伟杰 <wuweijie@apache.org> | Thu Dec 24 16:50:47 2020 +0800 |
tree | 51c258026d244489914a74359acb87b446a4ea39 | |
parent | f2358d7894cc5264dd8e57649877cc6ee3f1da85 [diff] |
Add API for getting all available JDBC driver classes
diff --git a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceDataSourceController.java b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceDataSourceController.java index 5ae8989..b16a1cd 100644 --- a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceDataSourceController.java +++ b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceDataSourceController.java
@@ -33,7 +33,10 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import java.sql.Driver; import java.util.Collection; +import java.util.HashSet; +import java.util.ServiceLoader; /** * Event trace data source RESTful API. @@ -52,6 +55,18 @@ } /** + * Get all available driver classes. + * + * @return Driver classes + */ + @GetMapping("/drivers") + public ResponseResult<Collection<String>> availableDrivers() { + Collection<String> result = new HashSet<>(); + ServiceLoader.load(Driver.class).forEach(each -> result.add(each.getClass().getName())); + return ResponseResultUtil.build(result); + } + + /** * Judge whether event trace data source is activated. * * @param request HTTP request