perf(X-Pack): 日志模块使用异步线程避免与主线程事务相互影响

This commit is contained in:
fit2cloud-chenyw
2024-01-30 11:39:52 +08:00
parent 0f07e82637
commit bf6f744281
4 changed files with 54 additions and 8 deletions

View File

@@ -0,0 +1,45 @@
package io.dataease.utils;
public class DeClassUtils {
public static boolean isPrimitiveOrWrapper(Object obj) {
if (obj == null) {
return false;
}
Class<?> objClass = obj.getClass();
for (Class<?> primitiveWrapper : primitiveWrappers) {
if (primitiveWrapper.isAssignableFrom(objClass)) {
return true;
}
}
return isPrimitive(objClass);
}
private static boolean isPrimitive(Class<?> clazz) {
if (clazz.isPrimitive()) {
return true;
}
String name = clazz.getName();
for (String primitiveTypeName : primitiveTypeNames) {
if (name.equals(primitiveTypeName)) {
return true;
}
}
return false;
}
private static final Class<?>[] primitiveWrappers = {
Boolean.class, Character.class, Byte.class, Short.class,
Integer.class, Long.class, Float.class, Double.class
};
private static final String[] primitiveTypeNames = {
"boolean", "char", "byte", "short",
"int", "long", "float", "double"
};
}