This commit is contained in:
redkale
2024-10-10 14:28:03 +08:00
parent 72d9427426
commit dc3396daf5
14 changed files with 437 additions and 21 deletions

View File

@@ -3,6 +3,9 @@
*/
package org.redkale.test.sncp;
import java.io.File;
import java.io.Serializable;
import java.util.Collection;
import java.util.concurrent.CompletableFuture;
import org.redkale.service.AbstractService;
import org.redkale.util.Times;
@@ -46,4 +49,8 @@ public class SncpSleepService extends AbstractService {
},
getExecutor());
}
public String test(Serializable id, String[] names, Collection<File> files) {
return "ok";
}
}

View File

@@ -1,6 +1,8 @@
package org.redkale.test.sncp;
import java.io.File;
import java.net.InetSocketAddress;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import org.junit.jupiter.api.*;
@@ -62,6 +64,7 @@ public class SncpSleepTest {
CompletableFuture.allOf(futures).join();
long e = System.currentTimeMillis() - s;
System.out.println("耗时: " + e + " ms");
remoteCService.test(333L, new String[] {"aaa", "bbb"}, List.of(new File("D:/a.txt"), new File("D:/b.txt")));
server.shutdown();
workExecutor.shutdown();
Assertions.assertTrue(e < 600);

View File

@@ -0,0 +1,21 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.nio.channels.CompletionHandler;
import org.redkale.test.util.TestBean;
/**
*
* @author zhangjx
*/
public class BooleanHandler implements CompletionHandler<Boolean, TestBean> {
@Override
public void completed(Boolean result, TestBean attachment) {}
@Override
public void failed(Throwable exc, TestBean attachment) {}
}

View File

@@ -0,0 +1,64 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.lang.reflect.Method;
import org.redkale.convert.Convert;
import org.redkale.convert.ConvertColumn;
import org.redkale.convert.Reader;
import org.redkale.convert.Writer;
import org.redkale.net.sncp.SncpRequest;
import org.redkale.net.sncp.SncpResponse;
import org.redkale.net.sncp.SncpServlet.SncpActionServlet;
import org.redkale.service.Service;
import org.redkale.test.util.TestBean;
import org.redkale.util.Uint128;
/**
*
* @author zhangjx
*/
public class DynActionTestService_change extends SncpActionServlet {
public DynActionTestService_change(
String resourceName,
Class resourceType,
Service service,
Uint128 serviceid,
Uint128 actionid,
final Method method) {
super(resourceName, resourceType, service, serviceid, actionid, method);
}
@Override
public void action(SncpRequest request, SncpResponse response) throws Throwable {
Convert<Reader, Writer> convert = request.getConvert();
Reader in = request.getReader();
DynActionTestService_change_paramBean bean = convert.convertFrom(paramComposeType, in);
TestService serviceObj = (TestService) service();
Object rs = serviceObj.change(bean.arg1, bean.arg2, bean.arg3);
response.finish(boolean.class, rs);
}
public static class DynActionTestService_change_paramBean {
public DynActionTestService_change_paramBean() {}
public DynActionTestService_change_paramBean(Object[] params) {
this.arg1 = (TestBean) params[0];
this.arg2 = (String) params[1];
this.arg3 = (int) params[2];
}
@ConvertColumn(index = 1)
public TestBean arg1;
@ConvertColumn(index = 2)
public String arg2;
@ConvertColumn(index = 3)
public int arg3;
}
}

View File

@@ -0,0 +1,65 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.lang.reflect.Method;
import java.util.concurrent.CompletableFuture;
import org.redkale.convert.Convert;
import org.redkale.convert.ConvertColumn;
import org.redkale.convert.Reader;
import org.redkale.convert.Writer;
import org.redkale.net.sncp.SncpRequest;
import org.redkale.net.sncp.SncpResponse;
import org.redkale.net.sncp.SncpServlet.SncpActionServlet;
import org.redkale.service.Service;
import org.redkale.test.util.TestBean;
import org.redkale.util.Uint128;
/**
*
* @author zhangjx
*/
public class DynActionTestService_changeName extends SncpActionServlet {
public DynActionTestService_changeName(
String resourceName,
Class resourceType,
Service service,
Uint128 serviceid,
Uint128 actionid,
final Method method) {
super(resourceName, resourceType, service, serviceid, actionid, method);
}
@Override
public void action(SncpRequest request, SncpResponse response) throws Throwable {
Convert<Reader, Writer> convert = request.getConvert();
Reader in = request.getReader();
DynActionTestService_changeName_paramBean bean = convert.convertFrom(paramComposeType, in);
TestService serviceObj = (TestService) service();
CompletableFuture future = serviceObj.changeName(bean.arg1, bean.arg2, bean.arg3);
response.finishFuture(paramHandlerResultType, future);
}
public static class DynActionTestService_changeName_paramBean {
public DynActionTestService_changeName_paramBean() {}
public DynActionTestService_changeName_paramBean(Object[] params) {
this.arg1 = (TestBean) params[0];
this.arg2 = (String) params[1];
this.arg3 = (int) params[2];
}
@ConvertColumn(index = 1)
public TestBean arg1;
@ConvertColumn(index = 2)
public String arg2;
@ConvertColumn(index = 3)
public int arg3;
}
}

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.lang.reflect.Method;
import org.redkale.convert.Convert;
import org.redkale.convert.Reader;
import org.redkale.convert.Writer;
import org.redkale.net.sncp.SncpRequest;
import org.redkale.net.sncp.SncpResponse;
import org.redkale.net.sncp.SncpServlet;
import org.redkale.service.Service;
import org.redkale.test.util.TestBean;
import org.redkale.util.Uint128;
/**
*
* @author zhangjx
*/
public class DynActionTestService_hello extends SncpServlet.SncpActionServlet {
public DynActionTestService_hello(
String resourceName,
Class resourceType,
Service service,
Uint128 serviceid,
Uint128 actionid,
final Method method) {
super(resourceName, resourceType, service, serviceid, actionid, method);
}
@Override
public void action(SncpRequest request, SncpResponse response) throws Throwable {
Convert<Reader, Writer> convert = request.getConvert();
Reader in = request.getReader();
TestBean bean = convert.convertFrom(paramComposeType, in);
TestService serviceObj = (TestService) service();
serviceObj.hello(bean);
response.finishVoid();
}
}

View File

@@ -0,0 +1,69 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.lang.reflect.Method;
import org.redkale.convert.Convert;
import org.redkale.convert.ConvertColumn;
import org.redkale.convert.Reader;
import org.redkale.convert.Writer;
import org.redkale.net.sncp.SncpRequest;
import org.redkale.net.sncp.SncpResponse;
import org.redkale.net.sncp.SncpServlet.SncpActionServlet;
import org.redkale.service.Service;
import org.redkale.test.util.TestBean;
import org.redkale.util.Uint128;
/**
*
* @author zhangjx
*/
public class DynActionTestService_insert extends SncpActionServlet {
public DynActionTestService_insert(
String resourceName,
Class resourceType,
Service service,
Uint128 serviceid,
Uint128 actionid,
final Method method) {
super(resourceName, resourceType, service, serviceid, actionid, method);
}
@Override
public void action(SncpRequest request, SncpResponse response) throws Throwable {
Convert<Reader, Writer> convert = request.getConvert();
Reader in = request.getReader();
DynActionTestService_insert_paramBean bean = convert.convertFrom(paramComposeType, in);
bean.arg0 = response.getParamAsyncHandler();
TestService serviceObj = (TestService) service();
serviceObj.insert(bean.arg0, bean.arg1, bean.arg2, bean.arg3);
response.finishVoid();
}
public static class DynActionTestService_insert_paramBean {
public DynActionTestService_insert_paramBean() {}
public DynActionTestService_insert_paramBean(Object[] params) {
this.arg0 = (BooleanHandler) params[0];
this.arg1 = (TestBean) params[1];
this.arg2 = (String) params[2];
this.arg3 = (int) params[3];
}
@ConvertColumn(index = 1)
public BooleanHandler arg0;
@ConvertColumn(index = 2)
public TestBean arg1;
@ConvertColumn(index = 3)
public String arg2;
@ConvertColumn(index = 4)
public int arg3;
}
}

View File

@@ -0,0 +1,78 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.lang.reflect.Method;
import java.nio.channels.CompletionHandler;
import org.redkale.convert.Convert;
import org.redkale.convert.ConvertColumn;
import org.redkale.convert.Reader;
import org.redkale.convert.Writer;
import org.redkale.net.sncp.SncpRequest;
import org.redkale.net.sncp.SncpResponse;
import org.redkale.net.sncp.SncpServlet.SncpActionServlet;
import org.redkale.service.Service;
import org.redkale.test.util.TestBean;
import org.redkale.util.Uint128;
/**
*
* @author zhangjx
*/
public class DynActionTestService_update extends SncpActionServlet {
public DynActionTestService_update(
String resourceName,
Class resourceType,
Service service,
Uint128 serviceid,
Uint128 actionid,
final Method method) {
super(resourceName, resourceType, service, serviceid, actionid, method);
}
@Override
public void action(SncpRequest request, SncpResponse response) throws Throwable {
Convert<Reader, Writer> convert = request.getConvert();
Reader in = request.getReader();
DynActionTestService_update_paramBean bean = convert.convertFrom(paramComposeType, in);
bean.arg3 = response.getParamAsyncHandler();
TestService serviceObj = (TestService) service();
serviceObj.update(bean.arg1, bean.arg2, bean.arg3, bean.arg4, bean.arg5, bean.arg6);
response.finishVoid();
}
public static class DynActionTestService_update_paramBean {
public DynActionTestService_update_paramBean() {}
public DynActionTestService_update_paramBean(Object[] params) {
this.arg1 = (long) params[0];
this.arg2 = (short) params[1];
this.arg3 = (CompletionHandler) params[2];
this.arg4 = (TestBean) params[3];
this.arg5 = (String) params[4];
this.arg6 = (int) params[5];
}
@ConvertColumn(index = 1)
public long arg1;
@ConvertColumn(index = 2)
public short arg2;
@ConvertColumn(index = 3)
public CompletionHandler<Boolean, TestBean> arg3;
@ConvertColumn(index = 4)
public TestBean arg4;
@ConvertColumn(index = 5)
public String arg5;
@ConvertColumn(index = 6)
public int arg6;
}
}

View File

@@ -0,0 +1,28 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.nio.channels.CompletionHandler;
import java.util.concurrent.CompletableFuture;
import org.redkale.service.Service;
import org.redkale.test.util.TestBean;
/**
*
* @author zhangjx
*/
public interface TestService extends Service {
public boolean change(TestBean bean, String name, int id);
public void insert(BooleanHandler handler, TestBean bean, String name, int id);
public void update(
long show, short v2, CompletionHandler<Boolean, TestBean> handler, TestBean bean, String name, int id);
public CompletableFuture<String> changeName(TestBean bean, String name, int id);
public void hello(TestBean bean);
}

View File

@@ -0,0 +1,40 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.sncp.dyn;
import java.nio.channels.CompletionHandler;
import java.util.concurrent.CompletableFuture;
import org.redkale.annotation.ResourceType;
import org.redkale.test.util.TestBean;
/**
*
* @author zhangjx
*/
@ResourceType(TestService.class)
public class TestServiceImpl implements TestService {
@Override
public boolean change(TestBean bean, String name, int id) {
return false;
}
@Override
public void insert(BooleanHandler handler, TestBean bean, String name, int id) {}
@Override
public void update(
long show, short v2, CompletionHandler<Boolean, TestBean> handler, TestBean bean, String name, int id) {}
@Override
public CompletableFuture<String> changeName(TestBean bean, String name, int id) {
return null;
}
@Override
public void hello(TestBean bean) {
System.out.println("hello: " + bean);
}
}