perf[protocol] optimize protocol config

This commit is contained in:
meiwei
2023-08-29 11:14:34 +08:00
parent 2cd89d59e6
commit 743e910cf0
2 changed files with 5 additions and 31 deletions
@@ -203,6 +203,9 @@ public class ProtocolAnalysis {
for (var moduleDefinition : xmlProtocols.getModules()) {
var module = modules[moduleDefinition.getId()];
var packetClazzList = getModuleDefinitionClass(moduleDefinition);
if (CollectionUtils.isEmpty(packetClazzList)) {
continue;
}
for (Class<?> clazz : packetClazzList) {
var protocolId = ProtocolManager.protocolId(clazz);
var registration = parseProtocolRegistration(clazz, module);
@@ -219,23 +222,8 @@ public class ProtocolAnalysis {
}
private static Set<Class<?>> getModuleDefinitionClass(XmlModuleDefinition moduleDefinition) {
var classSet = new HashSet<Class<?>>();
for (short id = moduleDefinition.getMinId(); id < moduleDefinition.getMaxId(); id++) {
var clazz = protocolClassMap.get(id);
if (Objects.isNull(clazz)) {
continue;
}
classSet.add(clazz);
}
if (CollectionUtils.isNotEmpty(classSet)) {
return classSet;
}
var moduleClassSet = moduleDefinitionClassMap.get(moduleDefinition.getId());
if (CollectionUtils.isEmpty(moduleClassSet)) {
return classSet;
}
return moduleClassSet;
return moduleDefinitionClassMap.get(moduleDefinition.getId());
}
public static Set<Class<?>> scanPackageList(String packageName) {
@@ -23,7 +23,7 @@ import java.util.List;
* @author godotg
* @version 3.0
*/
@JsonPropertyOrder({"id", "name", "minId", "maxId"})
@JsonPropertyOrder({"id", "name"})
public class XmlModuleDefinition {
@JacksonXmlProperty(isAttribute = true, localName = "id")
@@ -32,12 +32,6 @@ public class XmlModuleDefinition {
@JacksonXmlProperty(isAttribute = true, localName = "name")
private String name;
@JacksonXmlProperty(isAttribute = true, localName = "minId")
private short minId;
@JacksonXmlProperty(isAttribute = true, localName = "maxId")
private short maxId;
@JacksonXmlProperty(localName = "protocol")
@JacksonXmlElementWrapper(useWrapping = false)
private List<XmlProtocolDefinition> protocols;
@@ -50,14 +44,6 @@ public class XmlModuleDefinition {
return name;
}
public short getMinId() {
return minId;
}
public short getMaxId() {
return maxId;
}
public List<XmlProtocolDefinition> getProtocols() {
return protocols;
}