sunrisefromdark commented on code in PR #9012:
URL: https://github.com/apache/inlong/pull/9012#discussion_r1352311241


##########
inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sink/mysql/MySQLJdbcUtils.java:
##########
@@ -52,26 +52,48 @@ public class MySQLJdbcUtils {
      * @throws Exception on get connection error
      */
     public static Connection getConnection(String url, String user, String 
password) throws Exception {
-        if (StringUtils.isBlank(url) || !url.startsWith(MYSQL_JDBC_PREFIX)) {
-            throw new Exception("MySQL JDBC URL was invalid, it should start 
with jdbc:mysql");
-        }
+        ValidationUtils.extractHostAndValidatePortFromJdbcUrl(url, 
MYSQL_JDBC_PREFIX);
+        Connection conn = establishDatabaseConnection(url, user, password);
+        validateConnection(conn, url);
+        return conn;
+    }
 
+    /**
+     * Establishes a database connection using the provided URL, username, and 
password.
+     *
+     * @param url      The JDBC URL
+     * @param user     The username
+     * @param password The user's password
+     * @return A {@link Connection} object representing the database connection
+     * @throws Exception If an error occurs while obtaining the connection
+     */
+    private static Connection establishDatabaseConnection(String url, String 
user, String password) throws Exception {
         Connection conn;
         try {
             Class.forName(MYSQL_DRIVER_CLASS);
             conn = DriverManager.getConnection(url, user, password);
         } catch (Exception e) {
-            String errorMsg = "get MySQL connection error, please check MySQL 
JDBC url, username or password!";
+            String errorMsg = "Failed to get MySQL connection, please check 
MySQL JDBC URL, username, or password!";
             LOGGER.error(errorMsg, e);
-            throw new Exception(errorMsg + " other error msg: " + 
e.getMessage());
-        }
-        if (Objects.isNull(conn)) {
-            throw new Exception("get MySQL connection failed, please contact 
administrator.");
+            throw new Exception(errorMsg + " Other error message: " + 
e.getMessage());
         }
-        LOGGER.info("get MySQL connection success for url={}", url);

Review Comment:
   Added



-- 
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