同步获取响应数据

This commit is contained in:
Guoqs
2024-08-01 17:35:37 +08:00
parent e1b2eda757
commit eb40bd5798

View File

@@ -79,17 +79,17 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter {
// 判断该帧类型是否为某请求帧的应答帧 // 判断该帧类型是否为某请求帧的应答帧
String requestFrameType = YKCFrameTypeCode.PileAnswersRelation.getRequestFrameType(frameType); String requestFrameType = YKCFrameTypeCode.PileAnswersRelation.getRequestFrameType(frameType);
log.info("同步获取响应数据-判断该帧类型是否为某请求帧的应答帧, frameType:{}, requestFrameType:{}", frameType, requestFrameType); // log.info("同步获取响应数据-判断该帧类型是否为某请求帧的应答帧, frameType:{}, requestFrameType:{}", frameType, requestFrameType);
if (StringUtils.isNotBlank(requestFrameType)) { if (StringUtils.isNotBlank(requestFrameType)) {
// 根据请求id在集合中找到与外部线程通信的SyncPromise对象 // 根据请求id在集合中找到与外部线程通信的SyncPromise对象
String msgId = ctx.channel().id().toString() + "_" + requestFrameType; String msgId = ctx.channel().id().toString() + "_" + requestFrameType;
log.info("同步获取响应数据-收到消息, msgId:{}", msgId); // log.info("同步获取响应数据-收到消息, msgId:{}", msgId);
SyncPromise syncPromise = RpcUtil.getSyncPromiseMap().get(msgId); SyncPromise syncPromise = RpcUtil.getSyncPromiseMap().get(msgId);
if(syncPromise != null) { if(syncPromise != null) {
// 设置响应结果 // 设置响应结果
syncPromise.setRpcResult(msg); syncPromise.setRpcResult(msg);
// 唤醒外部线程 // 唤醒外部线程
log.info("同步获取响应数据-唤醒外部线程, SyncPromise:{}", JSON.toJSONString(syncPromise)); // log.info("同步获取响应数据-唤醒外部线程, SyncPromise:{}", JSON.toJSONString(syncPromise));
syncPromise.wake(); syncPromise.wake();
} }
} }