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