统计方法耗时

This commit is contained in:
Guoqs
2024-11-21 19:01:40 +08:00
parent 1c42f253d0
commit 34b096b2fb
4 changed files with 18 additions and 6 deletions

View File

@@ -4,6 +4,7 @@ import com.jsowell.netty.handler.yunkuaichongV2.AbstractYkcHandlerV2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
@@ -16,6 +17,15 @@ public class YKCOperateFactoryV2 {
@Autowired @Autowired
private Map<String, AbstractYkcHandlerV2> strategyMap; private Map<String, AbstractYkcHandlerV2> strategyMap;
private static Map<String, String> operationMap = new HashMap<>();
static {
//初始化实现类
operationMap.put("0x01", "loginRequestHandlerV2");
operationMap.put("0x05", "billingTemplateValidateRequestHandlerV2");
// more operators
}
/** /**
* 注册 * 注册
* @param str * @param str
@@ -30,10 +40,9 @@ public class YKCOperateFactoryV2 {
/** /**
* 获取 * 获取
* @param name
* @return
*/ */
public AbstractYkcHandlerV2 getInvokeStrategy(String name) { public AbstractYkcHandlerV2 getInvokeStrategy(String frameType) {
return strategyMap.get(name); String s = operationMap.get(frameType);
return strategyMap.get(s);
} }
} }

View File

@@ -1,6 +1,7 @@
package com.jsowell.netty.handler.yunkuaichongV2; package com.jsowell.netty.handler.yunkuaichongV2;
import com.google.common.primitives.Bytes; import com.google.common.primitives.Bytes;
import com.jsowell.common.annotation.CostTime;
import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
@@ -19,6 +20,7 @@ public interface AbstractYkcHandlerV2 {
String REQUEST_PREFIX = "Request_"; String REQUEST_PREFIX = "Request_";
byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel); byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel);
/** /**

View File

@@ -1,6 +1,7 @@
package com.jsowell.netty.handler.yunkuaichongV2; package com.jsowell.netty.handler.yunkuaichongV2;
import com.google.common.primitives.Bytes; import com.google.common.primitives.Bytes;
import com.jsowell.common.annotation.CostTime;
import com.jsowell.common.constant.Constants; import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
@@ -35,7 +36,7 @@ public class BillingTemplateValidateRequestHandlerV2 implements AbstractYkcHandl
// public void afterPropertiesSet() throws Exception { // public void afterPropertiesSet() throws Exception {
// YKCOperateFactory.register(type, this); // YKCOperateFactory.register(type, this);
// } // }
@CostTime
@Override @Override
public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel) { public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel) {
// log.info("[===执行计费模板验证请求逻辑===] param:{}, channel:{}", JSON.toJSONString(ykcDataProtocol), channel.toString()); // log.info("[===执行计费模板验证请求逻辑===] param:{}, channel:{}", JSON.toJSONString(ykcDataProtocol), channel.toString());

View File

@@ -46,7 +46,7 @@ public class YKCBusinessServiceImpl implements YKCBusinessService {
String frameType = YKCUtils.frameType2Str(ykcDataProtocol.getFrameType()); String frameType = YKCUtils.frameType2Str(ykcDataProtocol.getFrameType());
// 获取业务处理handler // 获取业务处理handler
AbstractYkcHandler invokeStrategy = YKCOperateFactory.getInvokeStrategy(frameType); AbstractYkcHandler invokeStrategy = YKCOperateFactory.getInvokeStrategy(frameType);
// AbstractYkcHandlerV2 invokeStrategy = ykcOperateFactoryV2.getInvokeStrategy("loginRequestHandlerV2"); // AbstractYkcHandlerV2 invokeStrategy = ykcOperateFactoryV2.getInvokeStrategy(frameType);
return invokeStrategy.supplyProcess(ykcDataProtocol, ctx); return invokeStrategy.supplyProcess(ykcDataProtocol, ctx);
} }