doc[zfoo]: 更新文档

This commit is contained in:
jaysunxiao committed 2021-10-24 21:53:29 +08:00
1 parent b8d20227bf
commit 3be0f0ab43
7 files changed
+42 -51

No files matched your search

+1 -1
View File
@@ -12,7 +12,7 @@
### Ⅲ. 分布式热更新
- 将需要热更新的class文件上传到zookeeper注册中心中,其它服务器监听需要更新的class文件, 中有分布式热更新实现
- 将需要热更新的class文件上传到zookeeper注册中心中,其它服务器监听需要更新的class文件,监听到了就去热更新代码
- [tank](https://github.com/zfoo-project/tank-game-server/blob/main/common/src/main/java/com/zfoo/tank/common/util/HotUtils.java)
分布式热更新代码实现
@@ -40,13 +40,9 @@ public class TcpClientTest {
var client = new TcpClient(HostAndPort.valueOf("127.0.0.1:9000"));
var session = client.start();
var request = new TcpHelloRequest();
request.setMessage("Hello, this is the tcp client!");
for (int i = 0; i < 1000; i++) {
ThreadUtils.sleep(2000);
NetContext.getRouter().send(session, request);
NetContext.getRouter().send(session, TcpHelloRequest.valueOf("Hello, this is the tcp client!"));
}
ThreadUtils.sleep(Long.MAX_VALUE);
@@ -24,6 +24,11 @@ public class TcpHelloRequest implements IPacket {
private String message;
public static TcpHelloRequest valueOf(String message) {
var request = new TcpHelloRequest();
request.message = message;
return request;
}
@Override
public short protocolId() {
@@ -19,14 +19,6 @@
<context:component-scan base-package="com.zfoo"/>
<net:config id="applicationNameTest" protocol-location="protocol.xml">
<net:host center="direct connect" user="jaysunxiao" password="123456">
<net:address name="server0" url="127.0.0.1:9000"/>
<net:address name="server1" url="127.0.0.1:9001"/>
<net:address name="client0" url="127.0.0.1:9000"/>
<net:address name="client1" url="127.0.0.1:9001"/>
</net:host>
</net:config>
</beans>
@@ -24,13 +24,6 @@
<net:address name="firstZookeeper" url="127.0.0.1:2181"/>
</net:registry>
<net:host center="direct connect" user="jaysunxiao" password="123456">
<net:address name="server0" url="127.0.0.1:9000"/>
<net:address name="server1" url="127.0.0.1:9001"/>
<net:address name="client0" url="127.0.0.1:9000"/>
<net:address name="client1" url="127.0.0.1:9001"/>
</net:host>
<net:consumer load-balancer="consistent-hash">
<net:module name="providerTest"/>
</net:consumer>
@@ -29,8 +29,40 @@ import java.util.Collections;
@Ignore
public class AccessorTest {
@Test
public void testBatchInsert() {
public void insert() {
var context = new ClassPathXmlApplicationContext("application.xml");
var userEntity = new UserEntity(1, (byte) 2, (short) 3, 5, true, "orm", "orm");
OrmContext.getAccessor().insert(userEntity);
}
@Test
public void delete() {
var context = new ClassPathXmlApplicationContext("application.xml");
OrmContext.getAccessor().delete(1L, UserEntity.class);
}
@Test
public void update() {
var context = new ClassPathXmlApplicationContext("application.xml");
var userEntity = new UserEntity(1, (byte) 2, (short) 3, 5, true, "update", "update");
OrmContext.getAccessor().update(userEntity);
}
@Test
public void load() {
var context = new ClassPathXmlApplicationContext("application.xml");
var ent = (UserEntity) OrmContext.getAccessor().load(1L, UserEntity.class);
System.out.println(ent);
}
// 批量插入
@Test
public void batchInsert() {
var context = new ClassPathXmlApplicationContext("application.xml");
var listUser = new ArrayList<UserEntity>();
for (var i = 1; i <= 10; i++) {
@@ -40,39 +72,13 @@ public class AccessorTest {
OrmContext.getAccessor().batchInsert(listUser);
}
// 批量更新
@Test
public void testInsert() {
var context = new ClassPathXmlApplicationContext("application.xml");
var userEntity = new UserEntity(1, (byte) 2, (short) 3, 5, true, "helloORM", "helloOrm");
OrmContext.getAccessor().insert(userEntity);
}
@Test
public void testUpdate() {
var context = new ClassPathXmlApplicationContext("application.xml");
var userEntity = new UserEntity(1, (byte) 2, (short) 3, 5, true, "helloUpdate", "helloOrm");
OrmContext.getAccessor().update(userEntity);
}
@Test
public void testBatchUpdate() {
public void batchUpdate() {
var context = new ClassPathXmlApplicationContext("application.xml");
var userEntity = new UserEntity(1, (byte) 2, (short) 3, 5, true, "helloBatchUpdate", "helloOrm");
userEntity.setC(222);
OrmContext.getAccessor().batchUpdate(Collections.singletonList(userEntity));
}
@Test
public void testLoad() {
var context = new ClassPathXmlApplicationContext("application.xml");
var ent = (UserEntity) OrmContext.getAccessor().load(1L, UserEntity.class);
System.out.println(ent);
}
@Test
public void testDelete() {
var context = new ClassPathXmlApplicationContext("application.xml");
OrmContext.getAccessor().delete(1L, UserEntity.class);
}
}
-1
View File
@@ -104,5 +104,4 @@ cpu: i9900k
### Ⅵ. 用途
- 通信协议
- 存储大对象
- 对象复制,深克隆