This commit is contained in:
@@ -16,6 +16,7 @@ import java.io.*;
|
||||
import java.net.*;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.*;
|
||||
import java.util.concurrent.atomic.*;
|
||||
import java.util.logging.*;
|
||||
|
||||
/**
|
||||
@@ -24,16 +25,17 @@ import java.util.logging.*;
|
||||
*/
|
||||
public class SncpTest {
|
||||
|
||||
private static final String protocol = Sncp.DEFAULT_PROTOCOL;
|
||||
private static final String protocol = "TCP";// Sncp.DEFAULT_PROTOCOL;
|
||||
|
||||
private static final String serviceName = "";
|
||||
|
||||
private static final String myhost = Utility.localInetAddress().getHostAddress();
|
||||
|
||||
private static final int port = 4040;
|
||||
|
||||
private static final int port2 = 4240;
|
||||
private static final int port2 = 0; // 4240;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ResourceFactory.root().register("", BsonConvert.class, BsonFactory.root().getConvert());
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
final PrintStream ps = new PrintStream(out);
|
||||
ps.println("handlers = java.util.logging.ConsoleHandler");
|
||||
@@ -41,35 +43,74 @@ public class SncpTest {
|
||||
ps.println(".level = FINEST");
|
||||
ps.println("java.util.logging.ConsoleHandler.level = FINEST");
|
||||
LogManager.getLogManager().readConfiguration(new ByteArrayInputStream(out.toByteArray()));
|
||||
runServer();
|
||||
runServer2();
|
||||
runClient();
|
||||
ResourceFactory.root().register("", BsonConvert.class, BsonFactory.root().getConvert());
|
||||
if (System.getProperty("client") == null) {
|
||||
runServer();
|
||||
if (port2 > 0) runServer2();
|
||||
}
|
||||
if (System.getProperty("server") == null) {
|
||||
runClient();
|
||||
}
|
||||
if (System.getProperty("server") != null) {
|
||||
System.in.read();
|
||||
}
|
||||
}
|
||||
|
||||
private static void runClient() throws Exception {
|
||||
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port);
|
||||
InetSocketAddress addr = new InetSocketAddress(myhost, port);
|
||||
Set<InetSocketAddress> set = new LinkedHashSet<>();
|
||||
set.add(addr);
|
||||
set.add(new InetSocketAddress("127.0.0.1", port2));
|
||||
Transport transport = new Transport("", protocol, WatchFactory.root(), 100, set);
|
||||
SncpTestService service = Sncp.createRemoteService(serviceName, null, SncpTestService.class, null, new LinkedHashSet<>(), transport);
|
||||
System.out.println(service);
|
||||
if (port2 > 0) set.add(new InetSocketAddress(myhost, port2));
|
||||
final Transport transport = new Transport("", protocol, WatchFactory.root(), 50, set);
|
||||
final SncpTestService service = Sncp.createRemoteService(serviceName, null, SncpTestService.class, null, new LinkedHashSet<>(), transport);
|
||||
ResourceFactory.root().inject(service);
|
||||
|
||||
SncpTestBean bean = new SncpTestBean();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < 2000; i++) {
|
||||
sb.append("_").append(i).append("_0123456789");
|
||||
// SncpTestBean bean = new SncpTestBean();
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// for (int i = 0; i < 2000; i++) {
|
||||
// sb.append("_").append(i).append("_0123456789");
|
||||
// }
|
||||
// bean.setContent(sb.toString());
|
||||
// bean.setContent("hello sncp");
|
||||
final int count = 500;
|
||||
final CountDownLatch cld = new CountDownLatch(count);
|
||||
final AtomicInteger ai = new AtomicInteger();
|
||||
for (int i = 0; i < count; i++) {
|
||||
final int k = i + 1;
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Thread.sleep(k);
|
||||
SncpTestBean bean = new SncpTestBean();
|
||||
bean.setId(k);
|
||||
bean.setContent("数据: " + (k < 10 ? "0" : "") + k);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(k).append("------");
|
||||
for (int i = 0; i < 1200; i++) {
|
||||
sb.append("_").append(i).append("_").append(k).append("_0123456789");
|
||||
}
|
||||
bean.setContent(sb.toString());
|
||||
|
||||
//service.queryResult(bean);
|
||||
service.updateBean(bean);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
long a = ai.incrementAndGet();
|
||||
System.out.println("运行了 " + (a == 100 ? "--------------------------------------------------" : "") + a);
|
||||
cld.countDown();
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
}
|
||||
bean.setContent(sb.toString());
|
||||
bean.setContent("hello sncp");
|
||||
System.out.println(service.queryResult(bean));
|
||||
bean.setContent("xxxxx");
|
||||
System.out.println(service.updateBean(bean));
|
||||
cld.await();
|
||||
System.out.println("---全部运行完毕---");
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
private static void runServer() throws Exception {
|
||||
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port);
|
||||
InetSocketAddress addr = new InetSocketAddress(myhost, port);
|
||||
final CountDownLatch cdl = new CountDownLatch(1);
|
||||
new Thread() {
|
||||
@Override
|
||||
@@ -77,10 +118,10 @@ public class SncpTest {
|
||||
try {
|
||||
SncpServer server = new SncpServer(protocol);
|
||||
Set<InetSocketAddress> set = new LinkedHashSet<>();
|
||||
set.add(new InetSocketAddress("127.0.0.1", port2));
|
||||
Transport transport = new Transport("", protocol, WatchFactory.root(), 100, set);
|
||||
if (port2 > 0) set.add(new InetSocketAddress(myhost, port2));
|
||||
Transport transport = new Transport("", protocol, WatchFactory.root(), 50, set);
|
||||
List<Transport> sameTransports = new ArrayList<>();
|
||||
sameTransports.add(transport);
|
||||
if (port2 > 0) sameTransports.add(transport);
|
||||
SncpTestService service = Sncp.createLocalService("", null, SncpTestService.class, addr, new LinkedHashSet<>(), sameTransports, null);
|
||||
ResourceFactory.root().inject(service);
|
||||
server.addService(new ServiceWrapper(SncpTestService.class, service, "", new ClassFilter.FilterEntry(SncpTestService.class, null)));
|
||||
@@ -100,7 +141,7 @@ public class SncpTest {
|
||||
}
|
||||
|
||||
private static void runServer2() throws Exception {
|
||||
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port2);
|
||||
InetSocketAddress addr = new InetSocketAddress(myhost, port2);
|
||||
final CountDownLatch cdl = new CountDownLatch(1);
|
||||
new Thread() {
|
||||
@Override
|
||||
@@ -108,8 +149,8 @@ public class SncpTest {
|
||||
try {
|
||||
SncpServer server = new SncpServer(protocol);
|
||||
Set<InetSocketAddress> set = new LinkedHashSet<>();
|
||||
set.add(new InetSocketAddress("127.0.0.1", port));
|
||||
Transport transport = new Transport("", protocol, WatchFactory.root(), 100, set);
|
||||
set.add(new InetSocketAddress(myhost, port));
|
||||
Transport transport = new Transport("", protocol, WatchFactory.root(), 50, set);
|
||||
List<Transport> sameTransports = new ArrayList<>();
|
||||
sameTransports.add(transport);
|
||||
Service service = Sncp.createLocalService("", null, SncpTestService.class, addr, new LinkedHashSet<>(), sameTransports, null);
|
||||
|
||||
@@ -5,8 +5,10 @@
|
||||
*/
|
||||
package com.wentch.redkale.test.sncp;
|
||||
|
||||
import com.wentch.redkale.convert.bson.*;
|
||||
import com.wentch.redkale.convert.json.*;
|
||||
import com.wentch.redkale.source.*;
|
||||
import com.wentch.redkale.util.*;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -18,6 +20,14 @@ public class SncpTestBean implements FilterBean {
|
||||
|
||||
private String content;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
SncpTestBean bean = JsonFactory.root().getConvert().convertFrom(SncpTestBean.class, "{\"content\":\"数据: 01\",\"id\":1}");
|
||||
System.out.println(bean);
|
||||
byte[] bs = BsonFactory.root().getConvert().convertTo(bean);
|
||||
Utility.println("---------", bs);
|
||||
System.out.println(BsonFactory.root().getConvert().convertFrom(SncpTestBean.class, bs).toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JsonFactory.root().getConvert().convertTo(this);
|
||||
|
||||
Reference in New Issue
Block a user