mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
feat: use kryo to replace jackson which is really easy to lead conflict
This commit is contained in:
parent
4399f99c42
commit
e767ad1043
@ -12,7 +12,7 @@ import tech.powerjob.common.request.query.JobInfoQuery;
|
||||
import tech.powerjob.common.response.*;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.common.utils.HttpUtils;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import okhttp3.FormBody;
|
||||
|
@ -20,6 +20,8 @@
|
||||
<guava.version>29.0-jre</guava.version>
|
||||
<okhttp.version>3.14.9</okhttp.version>
|
||||
<akka.version>2.6.12</akka.version>
|
||||
<kryo.version>5.0.4</kryo.version>
|
||||
<jackson.version>2.12.2</jackson.version>
|
||||
<junit.version>5.6.1</junit.version>
|
||||
</properties>
|
||||
|
||||
@ -58,11 +60,6 @@
|
||||
<artifactId>akka-remote_2.13</artifactId>
|
||||
<version>${akka.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.typesafe.akka</groupId>
|
||||
<artifactId>akka-serialization-jackson_2.13</artifactId>
|
||||
<version>${akka.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.typesafe.akka</groupId>
|
||||
<artifactId>akka-slf4j_2.13</artifactId>
|
||||
@ -76,6 +73,26 @@
|
||||
<version>${commons.io.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- kryo 超超超高性能序列化框架 -->
|
||||
<dependency>
|
||||
<groupId>com.esotericsoftware</groupId>
|
||||
<artifactId>kryo</artifactId>
|
||||
<version>${kryo.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<!-- Junit tests -->
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
|
@ -1,7 +1,7 @@
|
||||
package tech.powerjob.common.response;
|
||||
|
||||
import tech.powerjob.common.PowerSerializable;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import lombok.*;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package tech.powerjob.common.utils;
|
||||
package tech.powerjob.common.serialize;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
@ -0,0 +1,32 @@
|
||||
package tech.powerjob.common.serialize;
|
||||
|
||||
import akka.serialization.JSerializer;
|
||||
|
||||
/**
|
||||
* Using custom serializers for akka-remote
|
||||
*
|
||||
* @author tjq
|
||||
* @since 2021/3/21
|
||||
*/
|
||||
public class PowerAkkaSerializer extends JSerializer {
|
||||
|
||||
@Override
|
||||
public Object fromBinaryJava(byte[] bytes, Class<?> manifest) {
|
||||
return SerializerUtils.deSerialized(bytes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int identifier() {
|
||||
return 277777;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] toBinary(Object o) {
|
||||
return SerializerUtils.serialize(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean includeManifest() {
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package tech.powerjob.worker.common.utils;
|
||||
package tech.powerjob.common.serialize;
|
||||
|
||||
|
||||
import com.esotericsoftware.kryo.Kryo;
|
@ -7,7 +7,7 @@ import tech.powerjob.common.model.GitRepoInfo;
|
||||
import tech.powerjob.common.request.ServerDeployContainerRequest;
|
||||
import tech.powerjob.common.request.ServerDestroyContainerRequest;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.NetUtils;
|
||||
import tech.powerjob.common.utils.SegmentLock;
|
||||
import tech.powerjob.server.common.constants.ContainerSourceType;
|
||||
|
@ -15,7 +15,7 @@ import tech.powerjob.server.remote.transport.starter.VertXStarter;
|
||||
import tech.powerjob.server.remote.worker.WorkerClusterQueryService;
|
||||
import tech.powerjob.server.common.module.WorkerInfo;
|
||||
import tech.powerjob.common.response.AskResponse;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.NetUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.server.common.utils.SpringUtils;
|
||||
|
@ -16,7 +16,7 @@ import tech.powerjob.common.enums.TimeExpressionType;
|
||||
import tech.powerjob.common.enums.WorkflowInstanceStatus;
|
||||
import tech.powerjob.common.enums.WorkflowNodeType;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.server.core.DispatchService;
|
||||
import tech.powerjob.server.core.instance.InstanceService;
|
||||
|
@ -4,7 +4,7 @@ import tech.powerjob.common.enums.InstanceStatus;
|
||||
import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.common.SystemInstanceResult;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import com.google.common.collect.*;
|
||||
|
||||
import java.util.*;
|
||||
|
@ -2,7 +2,7 @@ package tech.powerjob.server.remote.server;
|
||||
|
||||
import akka.actor.AbstractActor;
|
||||
import tech.powerjob.common.response.AskResponse;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.server.remote.server.election.Ping;
|
||||
import tech.powerjob.server.remote.server.redirector.RemoteProcessReq;
|
||||
import tech.powerjob.server.remote.server.redirector.RemoteRequestProcessor;
|
||||
|
@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.common.enums.Protocol;
|
||||
import tech.powerjob.common.response.AskResponse;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.server.extension.LockService;
|
||||
import tech.powerjob.server.persistence.remote.model.AppInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.repository.AppInfoRepository;
|
||||
|
@ -8,8 +8,12 @@ akka {
|
||||
provider = remote
|
||||
allow-java-serialization = off
|
||||
|
||||
serializers {
|
||||
power-serializer = "tech.powerjob.common.serialize.PowerAkkaSerializer"
|
||||
}
|
||||
|
||||
serialization-bindings {
|
||||
"tech.powerjob.common.PowerSerializable" = jackson-cbor
|
||||
"tech.powerjob.common.PowerSerializable" = power-serializer
|
||||
}
|
||||
}
|
||||
remote {
|
||||
|
@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import tech.powerjob.common.enums.InstanceStatus;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.server.core.workflow.algorithm.WorkflowDAGUtils;
|
||||
import tech.powerjob.server.core.workflow.algorithm.WorkflowDAG;
|
||||
import com.google.common.collect.Lists;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package tech.powerjob.samples.processors;
|
||||
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.samples.MysteryService;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
import tech.powerjob.worker.core.processor.TaskContext;
|
||||
|
@ -2,7 +2,7 @@ package tech.powerjob.samples.processors;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
import tech.powerjob.worker.core.processor.TaskContext;
|
||||
import tech.powerjob.worker.core.processor.TaskResult;
|
||||
|
@ -19,7 +19,6 @@
|
||||
<h2.db.version>1.4.200</h2.db.version>
|
||||
<hikaricp.version>3.4.2</hikaricp.version>
|
||||
<junit.version>5.6.1</junit.version>
|
||||
<kryo.version>5.0.0-RC5</kryo.version>
|
||||
|
||||
<logback.version>1.2.3</logback.version>
|
||||
</properties>
|
||||
@ -53,13 +52,6 @@
|
||||
<version>${hikaricp.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- kryo 超超超高性能序列化框架 -->
|
||||
<dependency>
|
||||
<groupId>com.esotericsoftware</groupId>
|
||||
<artifactId>kryo</artifactId>
|
||||
<version>${kryo.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Junit 测试 -->
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
|
@ -10,7 +10,7 @@ import tech.powerjob.common.RemoteConstant;
|
||||
import tech.powerjob.common.response.ResultDTO;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.common.utils.HttpUtils;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.NetUtils;
|
||||
import tech.powerjob.worker.actors.ProcessorTrackerActor;
|
||||
import tech.powerjob.worker.actors.TaskTrackerActor;
|
||||
|
@ -3,7 +3,7 @@ package tech.powerjob.worker.background;
|
||||
import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.common.response.ResultDTO;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.HttpUtils;
|
||||
import tech.powerjob.worker.common.PowerJobWorkerConfig;
|
||||
import tech.powerjob.worker.core.tracker.task.TaskTracker;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package tech.powerjob.worker.common.utils;
|
||||
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -7,7 +7,7 @@ import tech.powerjob.worker.common.ThreadLocalStore;
|
||||
import tech.powerjob.worker.common.constants.TaskConstant;
|
||||
import tech.powerjob.worker.common.constants.TaskStatus;
|
||||
import tech.powerjob.worker.common.utils.AkkaUtils;
|
||||
import tech.powerjob.worker.common.utils.SerializerUtils;
|
||||
import tech.powerjob.common.serialize.SerializerUtils;
|
||||
import tech.powerjob.worker.common.utils.WorkflowContextUtils;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
import tech.powerjob.worker.core.processor.TaskContext;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package tech.powerjob.worker.core.processor;
|
||||
|
||||
import tech.powerjob.common.WorkflowContextConstant;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -12,7 +12,7 @@ import tech.powerjob.common.request.TaskTrackerReportInstanceStatusReq;
|
||||
import tech.powerjob.common.request.WorkerQueryExecutorClusterReq;
|
||||
import tech.powerjob.common.response.AskResponse;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.SegmentLock;
|
||||
import tech.powerjob.worker.common.WorkerRuntime;
|
||||
import tech.powerjob.worker.common.constants.TaskConstant;
|
||||
|
@ -2,7 +2,7 @@ package tech.powerjob.worker.pojo.request;
|
||||
|
||||
import tech.powerjob.common.PowerSerializable;
|
||||
import tech.powerjob.worker.common.ThreadLocalStore;
|
||||
import tech.powerjob.worker.common.utils.SerializerUtils;
|
||||
import tech.powerjob.common.serialize.SerializerUtils;
|
||||
import tech.powerjob.worker.persistence.TaskDO;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -8,8 +8,12 @@ akka {
|
||||
provider = remote
|
||||
allow-java-serialization = off
|
||||
|
||||
serializers {
|
||||
power-serializer = "tech.powerjob.common.serialize.PowerAkkaSerializer"
|
||||
}
|
||||
|
||||
serialization-bindings {
|
||||
"tech.powerjob.common.PowerSerializable" = jackson-cbor
|
||||
"tech.powerjob.common.PowerSerializable" = power-serializer
|
||||
}
|
||||
}
|
||||
remote {
|
||||
|
@ -1,7 +1,7 @@
|
||||
package tech.powerjob.worker.test.function;
|
||||
|
||||
import tech.powerjob.common.model.SystemMetrics;
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.worker.common.utils.SystemInfoUtils;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import com.google.common.collect.Lists;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package tech.powerjob.worker.test.processors;
|
||||
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
import tech.powerjob.worker.core.processor.TaskContext;
|
||||
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package tech.powerjob.worker.test.processors;
|
||||
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
import tech.powerjob.worker.core.processor.TaskContext;
|
||||
import tech.powerjob.worker.core.processor.TaskResult;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package tech.powerjob.worker.test.processors;
|
||||
|
||||
import tech.powerjob.common.utils.JsonUtils;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
import tech.powerjob.worker.core.processor.TaskContext;
|
||||
import tech.powerjob.worker.core.processor.TaskResult;
|
||||
|
Loading…
x
Reference in New Issue
Block a user