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