You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by zh...@apache.org on 2022/07/16 12:59:25 UTC
[rocketmq-connect] branch master updated: [ISSUE #198] Fix java 9+ compatibility (#199)
This is an automated email from the ASF dual-hosted git repository.
zhoubo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-connect.git
The following commit(s) were added to refs/heads/master by this push:
new dc6d459 [ISSUE #198] Fix java 9+ compatibility (#199)
dc6d459 is described below
commit dc6d459f6a6daf409a802a60b6ec82a233ee3969
Author: Fan Lin <li...@gmail.com>
AuthorDate: Sat Jul 16 20:59:21 2022 +0800
[ISSUE #198] Fix java 9+ compatibility (#199)
* use openmessaging-connector 0.1.3 release version
* upgrade lombok carried by openmldb-jdbc for java 9+ compatibility
* fix java version check for java 9+
* fit java options for java 9+
---
connectors/rocketmq-connect-debezium/pom.xml | 2 +-
connectors/rocketmq-connect-jdbc/pom.xml | 10 ++++++++++
distribution/bin/runconnect.sh | 25 ++++++++++++++++---------
3 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/connectors/rocketmq-connect-debezium/pom.xml b/connectors/rocketmq-connect-debezium/pom.xml
index b5617e7..0715731 100644
--- a/connectors/rocketmq-connect-debezium/pom.xml
+++ b/connectors/rocketmq-connect-debezium/pom.xml
@@ -184,7 +184,7 @@
<rocketmq-openmessaging.version>4.3.2</rocketmq-openmessaging.version>
<!--rocketmq connect version-->
- <openmessaging-connector.version>0.1.3-SNAPSHOT</openmessaging-connector.version>
+ <openmessaging-connector.version>0.1.3</openmessaging-connector.version>
<openmessaging-api.version>0.3.1-alpha</openmessaging-api.version>
</properties>
diff --git a/connectors/rocketmq-connect-jdbc/pom.xml b/connectors/rocketmq-connect-jdbc/pom.xml
index cc810b4..c4aed33 100644
--- a/connectors/rocketmq-connect-jdbc/pom.xml
+++ b/connectors/rocketmq-connect-jdbc/pom.xml
@@ -164,6 +164,12 @@
<artifactId>openmldb-native</artifactId>
<version>0.5.0-macos</version>
</dependency>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <version>1.18.2</version>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>com.4paradigm.openmldb</groupId>
<artifactId>openmldb-jdbc</artifactId>
@@ -173,6 +179,10 @@
<groupId>com.4paradigm.openmldb</groupId>
<artifactId>openmldb-native</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ </exclusion>
</exclusions>
</dependency>
</dependencies>
diff --git a/distribution/bin/runconnect.sh b/distribution/bin/runconnect.sh
index 4d95f4b..5801da7 100644
--- a/distribution/bin/runconnect.sh
+++ b/distribution/bin/runconnect.sh
@@ -28,12 +28,13 @@ error_exit ()
}
-function check_java_version ()
+check_java_version ()
{
_java=$1
- version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}')
+ _version=$2
+ version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}' | grep -o '^[0-9.]\+')
flag="true"
- if [[ "$version" < "1.7" ]]; then
+ if [[ $(echo "$version < $_version" | bc) -eq 1 ]]; then
flag="false"
fi
@@ -44,7 +45,7 @@ function check_java_version ()
echo $flag
}
-function check_java_opts ()
+check_java_opts ()
{
export IFS=" "
flag="true"
@@ -88,14 +89,20 @@ export LANG=en_US.UTF-8
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -XX:PermSize=128m -XX:MaxPermSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=8 -XX:+DisableExplicitGC"
-JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:/dev/shm/mq_gc_%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy"
-JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
+JAVA_OPT="${JAVA_OPT} -verbose:gc"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:+AlwaysPreTouch"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=10g"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages -XX:-UseBiasedLocking"
-JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib:${JAVA_HOME}/jre/lib/ext"
-JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"
+if [[ $(check_java_version "$JAVA" "9") == "false" ]]; then
+ JAVA_OPT="${JAVA_OPT} -Xloggc:/dev/shm/mq_gc_%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy"
+ JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
+ JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib:${JAVA_HOME}/jre/lib/ext"
+ JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"
+else
+ JAVA_OPT="${JAVA_OPT} -Xlog:gc:/dev/shm/mq_gc_%p.log -Xlog:gc*"
+ JAVA_OPT="${JAVA_OPT} -cp $(find "${BASE_DIR}/lib" -name '*.jar' | sed ':a;N;s/\n/:/;ba;'):${CLASSPATH}"
+fi
JAVA_OPT="${JAVA_OPT} -DisSyncFlush=false"
#===========================================================================================
@@ -115,7 +122,7 @@ if [[ $(check_java_opts "$JAVA_OPT") == "false" ]]; then
error_exit "Too small heap mem size or Xms/Xms/Xmn are missing, we need Xms >= 4g, Xmx >= 4g and Xmn >= 2g."
fi
-if [[ $(check_java_version "$JAVA") == "false" ]]; then
+if [[ $(check_java_version "$JAVA" "1.7") == "false" ]]; then
error_exit "Java version is too low, we need java(x64) 1.7+!"
fi