pom(grpc):

升级guava版本
This commit is contained in:
opensnail 2024-08-24 08:54:58 +08:00
parent 0527313d26
commit 2ab98b02c1
5 changed files with 14 additions and 34 deletions

21
pom.xml
View File

@ -33,10 +33,10 @@
<log4j.version>1.2.17</log4j.version>
<commons-logging.version>1.3.4</commons-logging.version>
<jakarta-validation.version>3.0.2</jakarta-validation.version>
<guava.version>32.0.0-jre</guava.version>
<grpc-java.version>1.64.2</grpc-java.version>
<proto-google-common-protos.version>2.43.0</proto-google-common-protos.version>
<protobuf-java.version>3.25.4</protobuf-java.version>
<guava.version>33.3.0-jre</guava.version>
<grpc-java.version>1.66.0</grpc-java.version>
<proto-google-common-protos.version>2.41.0</proto-google-common-protos.version>
<protobuf-java.version>3.25.3</protobuf-java.version>
</properties>
<modules>
@ -203,30 +203,17 @@
<artifactId>grpc-util</artifactId>
<version>${grpc-java.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-testing</artifactId>
<version>${grpc-java.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.api.grpc</groupId>
<artifactId>proto-google-common-protos</artifactId>
<version>${proto-google-common-protos.version}</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>${protobuf-java.version}</version>
</dependency>
<!-- gRPC dependency end -->
<!-- <dependency>-->
<!-- <groupId>net.devh</groupId>-->
<!-- <artifactId>grpc-client-spring-boot-starter</artifactId>-->
<!-- <version>3.1.0.RELEASE</version>-->
<!-- </dependency>-->
</dependencies>
</dependencyManagement>

View File

@ -68,21 +68,20 @@ public class GrpcClientInvokeHandler<R extends Result<Object>> implements Invoca
ListenableFuture<GrpcResult> future = GrpcChannel.sendOfUnary(annotation.path(), JsonUtil.toJsonString(args),
reqId);
SnailJobLog.LOCAL.debug("request complete requestId:[{}] 耗时:[{}ms]", sw.getTotalTimeMillis(), reqId);
if (future == null) {
return (R) new SnailJobRpcResult(StatusEnum.NO.getStatus(), "future is nulll", null, reqId);
}
if (async) {
if (future == null) {
return null;
}
Futures.addCallback(future, new FutureCallback<>() {
@Override
public void onSuccess(final GrpcResult result) {
ByteBuffer byteBuffer = result.getData().getValue().asReadOnlyByteBuffer();
String str = JsonUtil.parseObject(new ByteBufferBackedInputStream(byteBuffer), String.class);
Object obj = JsonUtil.parseObject(new ByteBufferBackedInputStream(byteBuffer), Object.class);
consumer.accept(
(R) new SnailJobRpcResult(result.getStatus(), result.getMessage(), str, result.getReqId()));
(R) new SnailJobRpcResult(result.getStatus(), result.getMessage(), obj, result.getReqId()));
}
@Override
@ -96,10 +95,10 @@ public class GrpcClientInvokeHandler<R extends Result<Object>> implements Invoca
} else {
try {
GrpcResult result = future.get(Integer.MAX_VALUE, TimeUnit.MILLISECONDS);
GrpcResult result = future.get(timeout, unit);
ByteBuffer byteBuffer = result.getData().getValue().asReadOnlyByteBuffer();
String str = JsonUtil.parseObject(new ByteBufferBackedInputStream(byteBuffer), String.class);
return (R) new Result(result.getStatus(), result.getMessage(), str);
Object obj = JsonUtil.parseObject(new ByteBufferBackedInputStream(byteBuffer), Object.class);
return (R) new SnailJobRpcResult(result.getStatus(), result.getMessage(), obj, result.getReqId());
} catch (ExecutionException e) {
throw e.getCause();
} catch (TimeoutException e) {

View File

@ -85,12 +85,6 @@
<groupId>com.google.api.grpc</groupId>
<artifactId>proto-google-common-protos</artifactId>
</dependency>
<!-- 生成的代码使用到了javax的注解 -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
<build>

View File

@ -67,7 +67,7 @@ public class GrpcChannel {
final long reqId) {
ManagedChannel channel = CHANNEL_MAP.get(Pair.of(hostId, hostIp));
if (Objects.isNull(channel) || !channel.isShutdown() || !channel.isShutdown()) {
if (Objects.isNull(channel) || channel.isShutdown() || channel.isTerminated()) {
removeChannel(channel);
channel = connect(hostId, hostIp, port);
if (Objects.isNull(channel)) {

View File

@ -26,7 +26,7 @@ public class GrpcInterceptor implements ServerInterceptor {
try {
return Contexts.interceptCall(context, serverCall, metadata, serverCallHandler);
} finally {
log.info("method invoked: {} cast:{}ms", fullMethodName, System.currentTimeMillis() - start);
log.debug("method invoked: {} cast:{}ms", fullMethodName, System.currentTimeMillis() - start);
}
}