This commit is contained in:
@@ -5,13 +5,18 @@
|
|||||||
*/
|
*/
|
||||||
package com.wentch.redkale.test.sncp;
|
package com.wentch.redkale.test.sncp;
|
||||||
|
|
||||||
|
|
||||||
|
import com.wentch.redkale.boot.*;
|
||||||
import com.wentch.redkale.convert.bson.*;
|
import com.wentch.redkale.convert.bson.*;
|
||||||
import com.wentch.redkale.net.*;
|
import com.wentch.redkale.net.*;
|
||||||
import com.wentch.redkale.net.sncp.*;
|
import com.wentch.redkale.net.sncp.*;
|
||||||
import com.wentch.redkale.util.*;
|
import com.wentch.redkale.util.*;
|
||||||
import com.wentch.redkale.watch.*;
|
import com.wentch.redkale.watch.*;
|
||||||
|
import java.io.*;
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
|
import java.util.*;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
|
import java.util.logging.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -19,21 +24,35 @@ import java.util.concurrent.*;
|
|||||||
*/
|
*/
|
||||||
public class SncpTest {
|
public class SncpTest {
|
||||||
|
|
||||||
|
private static final String protocol = "UDP";
|
||||||
|
|
||||||
private static final String serviceName = "";
|
private static final String serviceName = "";
|
||||||
|
|
||||||
private static final int port = 7070;
|
private static final int port = 7070;
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
private static final int port2 = 7270;
|
||||||
|
|
||||||
|
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");
|
||||||
|
ps.println(".handlers = java.util.logging.ConsoleHandler");
|
||||||
|
ps.println(".level = FINEST");
|
||||||
|
ps.println("java.util.logging.ConsoleHandler.level = FINEST");
|
||||||
|
LogManager.getLogManager().readConfiguration(new ByteArrayInputStream(out.toByteArray()));
|
||||||
runServer();
|
runServer();
|
||||||
|
runServer2();
|
||||||
runClient();
|
runClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void runClient() throws Exception {
|
private static void runClient() throws Exception {
|
||||||
ResourceFactory.root().register("", BsonConvert.class, BsonFactory.root().getConvert());
|
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port);
|
||||||
Transport transport = new Transport("testsncp", "UDP", 32, 100, WatchFactory.root(), new InetSocketAddress("127.0.0.1", port));
|
Set<InetSocketAddress> set = new LinkedHashSet<>();
|
||||||
ResourceFactory.root().register("testsncp", Transport.class, transport);
|
set.add(addr);
|
||||||
SncpTestService service = Sncp.createRemoteService(serviceName, SncpTestService.class, "testsncp");
|
set.add(new InetSocketAddress("127.0.0.1", port2));
|
||||||
|
Transport transport = new Transport("", protocol, WatchFactory.root(), 100, set);
|
||||||
|
SncpTestService service = Sncp.createRemoteService(serviceName, SncpTestService.class, null, transport);
|
||||||
ResourceFactory.root().inject(service);
|
ResourceFactory.root().inject(service);
|
||||||
|
|
||||||
SncpTestBean bean = new SncpTestBean();
|
SncpTestBean bean = new SncpTestBean();
|
||||||
@@ -42,17 +61,28 @@ public class SncpTest {
|
|||||||
sb.append("_").append(i).append("_0123456789");
|
sb.append("_").append(i).append("_0123456789");
|
||||||
}
|
}
|
||||||
bean.setContent(sb.toString());
|
bean.setContent(sb.toString());
|
||||||
|
bean.setContent("hello sncp");
|
||||||
System.out.println(service.queryResult(bean));
|
System.out.println(service.queryResult(bean));
|
||||||
|
bean.setContent("xxxxx");
|
||||||
|
System.out.println(service.updateBean(bean));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void runServer() throws Exception {
|
private static void runServer() throws Exception {
|
||||||
|
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port);
|
||||||
final CountDownLatch cdl = new CountDownLatch(1);
|
final CountDownLatch cdl = new CountDownLatch(1);
|
||||||
new Thread() {
|
new Thread() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
SncpServer server = new SncpServer("UDP");
|
SncpServer server = new SncpServer(protocol);
|
||||||
server.addService(new ServiceEntry(SncpTestService.class, new SncpTestService(), null, serviceName));
|
Set<InetSocketAddress> set = new LinkedHashSet<>();
|
||||||
|
set.add(new InetSocketAddress("127.0.0.1", port2));
|
||||||
|
Transport transport = new Transport("", protocol, WatchFactory.root(), 100, set);
|
||||||
|
List<Transport> sameTransports = new ArrayList<>();
|
||||||
|
sameTransports.add(transport);
|
||||||
|
SncpTestService service = Sncp.createLocalService("", SncpTestService.class, addr, sameTransports, null);
|
||||||
|
ResourceFactory.root().inject(service);
|
||||||
|
server.addService(new ServiceWrapper(SncpTestService.class, service, new ClassFilter.FilterEntry(SncpTestService.class, null)));
|
||||||
AnyValue.DefaultAnyValue conf = new AnyValue.DefaultAnyValue();
|
AnyValue.DefaultAnyValue conf = new AnyValue.DefaultAnyValue();
|
||||||
conf.addValue("host", "0.0.0.0");
|
conf.addValue("host", "0.0.0.0");
|
||||||
conf.addValue("port", "" + port);
|
conf.addValue("port", "" + port);
|
||||||
@@ -66,4 +96,32 @@ public class SncpTest {
|
|||||||
}.start();
|
}.start();
|
||||||
cdl.await();
|
cdl.await();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void runServer2() throws Exception {
|
||||||
|
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port2);
|
||||||
|
final CountDownLatch cdl = new CountDownLatch(1);
|
||||||
|
new Thread() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
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);
|
||||||
|
List<Transport> sameTransports = new ArrayList<>();
|
||||||
|
sameTransports.add(transport);
|
||||||
|
server.addService(new ServiceWrapper(SncpTestService.class, Sncp.createLocalService("", SncpTestService.class, addr, sameTransports, null), new ClassFilter.FilterEntry(SncpTestService.class, null)));
|
||||||
|
AnyValue.DefaultAnyValue conf = new AnyValue.DefaultAnyValue();
|
||||||
|
conf.addValue("host", "0.0.0.0");
|
||||||
|
conf.addValue("port", "" + port2);
|
||||||
|
server.init(conf);
|
||||||
|
server.start();
|
||||||
|
cdl.countDown();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.start();
|
||||||
|
cdl.await();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
|
||||||
* To change this template file, choose Tools | Templates
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
package com.wentch.redkale.test.sncp;
|
|
||||||
|
|
||||||
import com.wentch.redkale.convert.json.*;
|
|
||||||
import com.wentch.redkale.source.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author zhangjx
|
|
||||||
*/
|
|
||||||
public class SncpTestBean implements FilterBean {
|
|
||||||
|
|
||||||
private long id;
|
|
||||||
|
|
||||||
private String content;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return JsonFactory.root().getConvert().convertTo(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getContent() {
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setContent(String content) {
|
|
||||||
this.content = content;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
|
||||||
* To change this template file, choose Tools | Templates
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
package com.wentch.redkale.test.sncp;
|
|
||||||
|
|
||||||
import com.wentch.redkale.service.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author zhangjx
|
|
||||||
*/
|
|
||||||
public class SncpTestService implements Service {
|
|
||||||
|
|
||||||
public String queryResult(SncpTestBean bean) {
|
|
||||||
System.out.println("运行了方法");
|
|
||||||
return "result: " + bean;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user