Merge pull request #1192 from LIU-WEI-git/grpc_upgrade

diff --git a/.gitignore b/.gitignore
index cc35f18..0ed3deb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@
 .checkstyle
 test-output
 dist
+out
 .pmd
 classes
 package-lock.json
diff --git a/build.gradle b/build.gradle
index dedd041..2772770 100644
--- a/build.gradle
+++ b/build.gradle
@@ -419,6 +419,8 @@
         sign publishing.publications.mavenJava
     }
 
+    def grpcVersion = '1.42.2'
+
     dependencyManagement {
         dependencies {
             dependency "org.apache.commons:commons-lang3:3.6"
@@ -477,10 +479,10 @@
             dependency "io.cloudevents:cloudevents-core:2.2.0"
             dependency "io.cloudevents:cloudevents-json-jackson:2.2.0"
 
-            dependency "io.grpc:grpc-protobuf:1.17.1"
-            dependency "io.grpc:grpc-stub:1.17.1"
-            dependency "io.grpc:grpc-netty:1.17.1"
-            dependency "io.grpc:grpc-netty-shaded:1.17.1"
+            dependency "io.grpc:grpc-protobuf:${grpcVersion}"
+            dependency "io.grpc:grpc-stub:${grpcVersion}"
+            dependency "io.grpc:grpc-netty:${grpcVersion}"
+            dependency "io.grpc:grpc-netty-shaded:${grpcVersion}"
 
             dependency "javax.annotation:javax.annotation-api:1.3.2"
 
diff --git a/eventmesh-common/build.gradle b/eventmesh-common/build.gradle
index 5033b3a..033bbd2 100644
--- a/eventmesh-common/build.gradle
+++ b/eventmesh-common/build.gradle
@@ -15,6 +15,8 @@
  * limitations under the License.
  */
 
+def grpcVersion = '1.42.2'
+
 dependencies {
     api "com.google.guava:guava"
     api "org.slf4j:slf4j-api"
@@ -39,8 +41,8 @@
 
     implementation "io.netty:netty-all"
 
-    implementation "io.grpc:grpc-protobuf:1.17.1"
-    implementation "io.grpc:grpc-stub:1.17.1"
+    implementation "io.grpc:grpc-protobuf:${grpcVersion}"
+    implementation "io.grpc:grpc-stub:${grpcVersion}"
     implementation "javax.annotation:javax.annotation-api:1.3.2"
 
     implementation "com.github.stefanbirkner:system-rules"
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/ConsumerServiceGrpc.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/ConsumerServiceGrpc.java
index fbf4608..8f55f65 100644
--- a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/ConsumerServiceGrpc.java
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/ConsumerServiceGrpc.java
@@ -31,7 +31,7 @@
  */
 @SuppressWarnings({"all"})
 @javax.annotation.Generated(
-    value = "by gRPC proto compiler (version 1.17.1)",
+    value = "by gRPC proto compiler (version 1.42.2)",
     comments = "Source: eventmesh-client.proto")
 public final class ConsumerServiceGrpc {
 
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/HeartbeatServiceGrpc.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/HeartbeatServiceGrpc.java
index 0860cc7..dca914b 100644
--- a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/HeartbeatServiceGrpc.java
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/HeartbeatServiceGrpc.java
@@ -28,7 +28,7 @@
  */
 @SuppressWarnings({"all"})
 @javax.annotation.Generated(
-    value = "by gRPC proto compiler (version 1.17.1)",
+    value = "by gRPC proto compiler (version 1.42.2)",
     comments = "Source: eventmesh-client.proto")
 public final class HeartbeatServiceGrpc {
 
diff --git a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/PublisherServiceGrpc.java b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/PublisherServiceGrpc.java
index c223f47..20f3a23 100644
--- a/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/PublisherServiceGrpc.java
+++ b/eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/protos/PublisherServiceGrpc.java
@@ -28,7 +28,7 @@
  */
 @SuppressWarnings({"all"})
 @javax.annotation.Generated(
-    value = "by gRPC proto compiler (version 1.17.1)",
+    value = "by gRPC proto compiler (version 1.42.2)",
     comments = "Source: eventmesh-client.proto")
 public final class PublisherServiceGrpc {
 
diff --git a/eventmesh-examples/build.gradle b/eventmesh-examples/build.gradle
index ed3d38f..d74798f 100644
--- a/eventmesh-examples/build.gradle
+++ b/eventmesh-examples/build.gradle
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-def grpcVersion = '1.17.1'
+def grpcVersion = '1.42.2'
 
 configurations {
     implementation.exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
diff --git a/eventmesh-protocol-plugin/eventmesh-protocol-cloudevents/build.gradle b/eventmesh-protocol-plugin/eventmesh-protocol-cloudevents/build.gradle
index 9f3b904..5a1bfd5 100644
--- a/eventmesh-protocol-plugin/eventmesh-protocol-cloudevents/build.gradle
+++ b/eventmesh-protocol-plugin/eventmesh-protocol-cloudevents/build.gradle
@@ -20,5 +20,8 @@
     implementation "io.cloudevents:cloudevents-core"
     implementation "com.google.guava:guava"
     implementation "io.cloudevents:cloudevents-json-jackson"
-    implementation "io.grpc:grpc-protobuf:1.17.1"
+    implementation ("io.grpc:grpc-protobuf:1.42.2") {
+        exclude group: "com.google.protobuf", module: "protobuf-java"
+    }
+    implementation("com.google.protobuf:protobuf-java:3.21.5")
 }
diff --git a/eventmesh-protocol-plugin/eventmesh-protocol-grpc/build.gradle b/eventmesh-protocol-plugin/eventmesh-protocol-grpc/build.gradle
index 72c17de..ddc11bd 100644
--- a/eventmesh-protocol-plugin/eventmesh-protocol-grpc/build.gradle
+++ b/eventmesh-protocol-plugin/eventmesh-protocol-grpc/build.gradle
@@ -24,12 +24,15 @@
     mavenCentral()
 }
 
-def grpcVersion = '1.17.1' // CURRENT_GRPC_VERSION
-def protobufVersion = '3.5.1'
+def grpcVersion = '1.42.2' // CURRENT_GRPC_VERSION
+def protobufVersion = '3.21.5'
 def protocVersion = protobufVersion
 
 dependencies {
-    implementation "io.grpc:grpc-protobuf:${grpcVersion}"
+    implementation ("io.grpc:grpc-protobuf:${grpcVersion}") {
+        exclude group: "com.google.protobuf", module: "protobuf-java"
+    }
+    implementation("com.google.protobuf:protobuf-java:${protobufVersion}")
     implementation "io.grpc:grpc-stub:${grpcVersion}"
     implementation "com.google.protobuf:protobuf-java-util:${protobufVersion}"
     implementation "javax.annotation:javax.annotation-api:1.3.2"
diff --git a/eventmesh-protocol-plugin/eventmesh-protocol-http/build.gradle b/eventmesh-protocol-plugin/eventmesh-protocol-http/build.gradle
index 9f3b904..5a1bfd5 100644
--- a/eventmesh-protocol-plugin/eventmesh-protocol-http/build.gradle
+++ b/eventmesh-protocol-plugin/eventmesh-protocol-http/build.gradle
@@ -20,5 +20,8 @@
     implementation "io.cloudevents:cloudevents-core"
     implementation "com.google.guava:guava"
     implementation "io.cloudevents:cloudevents-json-jackson"
-    implementation "io.grpc:grpc-protobuf:1.17.1"
+    implementation ("io.grpc:grpc-protobuf:1.42.2") {
+        exclude group: "com.google.protobuf", module: "protobuf-java"
+    }
+    implementation("com.google.protobuf:protobuf-java:3.21.5")
 }
diff --git a/eventmesh-protocol-plugin/eventmesh-protocol-meshmessage/build.gradle b/eventmesh-protocol-plugin/eventmesh-protocol-meshmessage/build.gradle
index b20c683..80e0ecf 100644
--- a/eventmesh-protocol-plugin/eventmesh-protocol-meshmessage/build.gradle
+++ b/eventmesh-protocol-plugin/eventmesh-protocol-meshmessage/build.gradle
@@ -18,7 +18,10 @@
 dependencies {
     implementation project(":eventmesh-protocol-plugin:eventmesh-protocol-api")
     implementation "io.cloudevents:cloudevents-core"
-    implementation "io.grpc:grpc-protobuf:1.17.1"
+    implementation ("io.grpc:grpc-protobuf:1.42.2") {
+        exclude group: "com.google.protobuf", module: "protobuf-java"
+    }
+    implementation("com.google.protobuf:protobuf-java:3.21.5")
 
     testImplementation project(":eventmesh-protocol-plugin:eventmesh-protocol-api")
     testImplementation "io.cloudevents:cloudevents-core"
diff --git a/eventmesh-runtime/build.gradle b/eventmesh-runtime/build.gradle
index 8ee66a6..7adc3fc 100644
--- a/eventmesh-runtime/build.gradle
+++ b/eventmesh-runtime/build.gradle
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-def grpcVersion = '1.17.1'
+def grpcVersion = '1.42.2'
 
 dependencies {
     implementation 'io.cloudevents:cloudevents-core'
diff --git a/eventmesh-sdk-java/build.gradle b/eventmesh-sdk-java/build.gradle
index ee9e2b1..f00fda4 100644
--- a/eventmesh-sdk-java/build.gradle
+++ b/eventmesh-sdk-java/build.gradle
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-def grpcVersion = '1.17.1'
+def grpcVersion = '1.42.2'
 
 dependencies {
     api project(":eventmesh-common")
@@ -47,9 +47,9 @@
     testImplementation "io.netty:netty-all"
     testImplementation "org.apache.httpcomponents:httpclient"
 
-    implementation "io.grpc:grpc-protobuf:1.17.1"
-    implementation "io.grpc:grpc-stub:1.17.1"
-    implementation "com.google.protobuf:protobuf-java-util:3.5.1"
+    implementation "io.grpc:grpc-protobuf:${grpcVersion}"
+    implementation "io.grpc:grpc-stub:${grpcVersion}"
+    implementation "com.google.protobuf:protobuf-java-util:3.21.5"
     compileOnly 'org.projectlombok:lombok:1.18.22'
     annotationProcessor 'org.projectlombok:lombok:1.18.22'
 
diff --git a/tools/dependency-check/known-dependencies.txt b/tools/dependency-check/known-dependencies.txt
index 6e051f5..c714686 100644
--- a/tools/dependency-check/known-dependencies.txt
+++ b/tools/dependency-check/known-dependencies.txt
@@ -23,14 +23,14 @@
 error_prone_annotations-2.7.1.jar
 failureaccess-1.0.1.jar
 fastjson-1.2.76.jar
-grpc-context-1.17.1.jar
-grpc-core-1.17.1.jar
-grpc-netty-1.17.1.jar
-grpc-netty-shaded-1.17.1.jar
-grpc-protobuf-1.17.1.jar
-grpc-protobuf-lite-1.17.1.jar
-grpc-stub-1.17.1.jar
-grpc-grpclb-1.17.1.jar
+grpc-context-1.42.2.jar
+grpc-core-1.42.2.jar
+grpc-netty-1.42.2.jar
+grpc-netty-shaded-1.42.2.jar
+grpc-protobuf-1.42.2.jar
+grpc-protobuf-lite-1.42.2.jar
+grpc-stub-1.42.2.jar
+grpc-grpclb-1.42.2.jar
 gson-2.8.2.jar
 guava-31.0.1-jre.jar
 hamcrest-core-1.3.jar
@@ -111,8 +111,8 @@
 opentelemetry-sdk-trace-1.3.0.jar
 opentelemetry-semconv-1.3.0-alpha.jar
 proto-google-common-protos-1.0.0.jar
-protobuf-java-3.5.1.jar
-protobuf-java-util-3.5.1.jar
+protobuf-java-3.21.5.jar
+protobuf-java-util-3.21.5.jar
 reflections-0.9.11.jar
 rocketmq-acl-4.9.3.jar
 rocketmq-broker-4.9.3.jar
diff --git a/tools/third-party-licenses/LICENSE b/tools/third-party-licenses/LICENSE
index 2e6d1e2..c039ab1 100644
--- a/tools/third-party-licenses/LICENSE
+++ b/tools/third-party-licenses/LICENSE
@@ -236,14 +236,14 @@
     listenablefuture 9999.0-empty-to-avoid-conflict-with-guava: https://github.com/google/guava, Apache 2.0
     fastjson 1.2.76: https://github.com/alibaba/fastjson, Apache 2.0
     guava 31.0.1-jre: https://github.com/google/guava, Apache 2.0
-    grpc-context 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
-    grpc-core 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
-    grpc-netty 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
-    grpc-netty-shaded 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
-    grpc-protobuf 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
-    grpc-protobuf-lite 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
-    grpc-stub 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
-    grpc-grpclb 1.17.1: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-context 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-core 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-netty 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-netty-shaded 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-protobuf 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-protobuf-lite 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-stub 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
+    grpc-grpclb 1.42.2: https://github.com/grpc/grpc-java, Apache 2.0
     gson 2.8.2: https://github.com/google/gson, Apache 2.0
     httpasyncclient 4.1.3: https://github.com/apache/httpasyncclient, Apache 2.0
     httpclient 4.5.13: https://github.com/apache/httpcomponents-client, Apache 2.0
@@ -368,8 +368,8 @@
 
     hamcrest-core 1.3: https://github.com/hamcrest/JavaHamcrest, BSD
     jsr305 3.0.2: https://code.google.com/archive/p/jsr-305, BSD
-    protobuf-java 3.5.1: https://github.com/protocolbuffers/protobuf, BSD
-    protobuf-java-util 3.5.1: https://github.com/protocolbuffers/protobuf, BSD
+    protobuf-java 3.21.5: https://github.com/protocolbuffers/protobuf, BSD
+    protobuf-java-util 3.21.5: https://github.com/protocolbuffers/protobuf, BSD
 
 ========================================================================
 CDDL licenses