Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-myth-job
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyuan
byit-myth-job
Commits
ccd7b281
Commit
ccd7b281
authored
Apr 09, 2020
by
huangfusuper
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改 请求响应包序列化方式
parent
a19ef644
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
94 additions
and
8 deletions
+94
-8
SerializerAlgorithm.java
...mon/src/main/java/com/byit/enums/SerializerAlgorithm.java
+3
-5
PluginRpcRequestPacket.java
.../java/com/byit/packet/request/PluginRpcRequestPacket.java
+8
-1
PluginRpcResponsePacket.java
...ava/com/byit/packet/response/PluginRpcResponsePacket.java
+5
-2
HessianSerialize.java
...rc/main/java/com/byit/serialization/HessianSerialize.java
+78
-0
No files found.
byit-plugin-core/byit-plugin-rpc-common/src/main/java/com/byit/enums/SerializerAlgorithm.java
View file @
ccd7b281
package
com
.
byit
.
enums
;
import
com.byit.serialization.HessianSerialize
;
import
com.byit.serialization.ISerializer
;
import
com.byit.serialization.JsonSerializer
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 序列化算法标识
* @author huangfu
*/
public
enum
SerializerAlgorithm
{
JSON
(
Byte
.
parseByte
(
"1"
),
new
JsonSerializer
(),
"FastJson序列化方式"
)
JSON
(
Byte
.
parseByte
(
"1"
),
new
JsonSerializer
(),
"FastJson序列化方式"
),
HESSIAN_JSON
(
Byte
.
parseByte
(
"2"
),
new
HessianSerialize
(),
"Hessian序列化方式"
)
;
private
byte
serializerAlgorithm
;
private
ISerializer
iSerializer
;
...
...
byit-plugin-core/byit-plugin-rpc-common/src/main/java/com/byit/packet/request/PluginRpcRequestPacket.java
View file @
ccd7b281
...
...
@@ -3,6 +3,7 @@ package com.byit.packet.request;
import
com.byit.enums.Command
;
import
com.byit.enums.SerializerAlgorithm
;
import
com.byit.packet.BasePacketModel
;
import
com.byit.param.ResultCallback
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -14,6 +15,10 @@ import lombok.EqualsAndHashCode;
@Data
public
class
PluginRpcRequestPacket
extends
BasePacketModel
{
/**
* 一次请求的标识
*/
private
String
requestId
;
/**
* 任务名称
*/
private
String
jobName
;
...
...
@@ -24,6 +29,8 @@ public class PluginRpcRequestPacket extends BasePacketModel {
private
String
param
;
private
ResultCallback
resultCallback
;
@Override
public
Command
getCommand
()
{
return
Command
.
RUN_REMOTELY_JOB_NODE_REQUEST
;
...
...
@@ -31,6 +38,6 @@ public class PluginRpcRequestPacket extends BasePacketModel {
@Override
public
SerializerAlgorithm
getSerializerAlgorithm
()
{
return
SerializerAlgorithm
.
JSON
;
return
SerializerAlgorithm
.
HESSIAN_
JSON
;
}
}
byit-plugin-core/byit-plugin-rpc-common/src/main/java/com/byit/packet/response/PluginRpcResponsePacket.java
View file @
ccd7b281
...
...
@@ -13,7 +13,10 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
PluginRpcResponsePacket
extends
BasePacketModel
{
/**
* 一次请求的标识
*/
private
String
requestId
;
/**
* 日志ID 扩展字段也可传其他参数
*/
...
...
@@ -30,6 +33,6 @@ public class PluginRpcResponsePacket extends BasePacketModel {
@Override
public
SerializerAlgorithm
getSerializerAlgorithm
()
{
return
SerializerAlgorithm
.
JSON
;
return
SerializerAlgorithm
.
HESSIAN_
JSON
;
}
}
byit-plugin-core/byit-plugin-rpc-common/src/main/java/com/byit/serialization/HessianSerialize.java
0 → 100644
View file @
ccd7b281
package
com
.
byit
.
serialization
;
import
com.byit.enums.SerializerAlgorithm
;
import
com.caucho.hessian.io.HessianInput
;
import
com.caucho.hessian.io.HessianOutput
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
/**
* @Auther: huangfu
* @Date: 2020年4月9日17:40:57
* @Description: Hessian实现序列化、反序列化
*/
public
class
HessianSerialize
implements
ISerializer
{
@Override
public
byte
getSerializerAlgorithm
()
{
return
SerializerAlgorithm
.
HESSIAN_JSON
.
getSerializerAlgorithm
();
}
@Override
public
byte
[]
serialize
(
Object
object
)
{
ByteArrayOutputStream
byteArrayOutputStream
=
null
;
HessianOutput
hessianOutput
=
null
;
try
{
byteArrayOutputStream
=
new
ByteArrayOutputStream
();
// Hessian的序列化输出
hessianOutput
=
new
HessianOutput
(
byteArrayOutputStream
);
hessianOutput
.
writeObject
(
object
);
return
byteArrayOutputStream
.
toByteArray
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
byteArrayOutputStream
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
try
{
hessianOutput
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
return
null
;
}
@Override
public
<
T
>
T
deserialize
(
Class
<
T
>
clazz
,
byte
[]
bytes
)
{
ByteArrayInputStream
byteArrayInputStream
=
null
;
HessianInput
hessianInput
=
null
;
try
{
byteArrayInputStream
=
new
ByteArrayInputStream
(
bytes
);
// Hessian的反序列化读取对象
hessianInput
=
new
HessianInput
(
byteArrayInputStream
);
return
(
T
)
hessianInput
.
readObject
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
byteArrayInputStream
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
try
{
hessianInput
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
return
null
;
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment