This is an automated email from the ASF dual-hosted git repository.

fanjia pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new bde19b637 [Hotfix][Jdbc] Fix XA DataSource 
crash(Oracle/Dameng/SqlServer) (#4866)
bde19b637 is described below

commit bde19b6377f7b2fb7a34b94bd06d6ce0cc44f348
Author: hailin0 <[email protected]>
AuthorDate: Mon Jun 5 16:56:56 2023 +0800

    [Hotfix][Jdbc] Fix XA DataSource crash(Oracle/Dameng/SqlServer) (#4866)
---
 .../jdbc/internal/connection/DataSourceUtils.java  | 23 ++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git 
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/connection/DataSourceUtils.java
 
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/connection/DataSourceUtils.java
index 1be025af6..50f7d55cf 100644
--- 
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/connection/DataSourceUtils.java
+++ 
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/connection/DataSourceUtils.java
@@ -88,12 +88,23 @@ public class DataSourceUtils implements Serializable {
             final Method[] methods, final String property) {
         String setterMethodName =
                 SETTER_PREFIX + 
CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, property);
-        return Arrays.stream(methods)
-                .filter(
-                        each ->
-                                each.getName().equals(setterMethodName)
-                                        && 1 == 
each.getParameterTypes().length)
-                .findFirst();
+        Optional<Method> methodOptional =
+                Arrays.stream(methods)
+                        .filter(
+                                each ->
+                                        each.getName().equals(setterMethodName)
+                                                && 1 == 
each.getParameterTypes().length)
+                        .findFirst();
+        if (!methodOptional.isPresent()) {
+            methodOptional =
+                    Arrays.stream(methods)
+                            .filter(
+                                    each ->
+                                            
each.getName().equalsIgnoreCase(setterMethodName)
+                                                    && 1 == 
each.getParameterTypes().length)
+                            .findFirst();
+        }
+        return methodOptional;
     }
 
     private static Object loadDataSource(final String xaDataSourceClassName) {

Reply via email to