com.alibaba.dubbo.rpc.protocol.dubbo.support.DemoServiceImpl Java Examples

The following examples show how to use com.alibaba.dubbo.rpc.protocol.dubbo.support.DemoServiceImpl. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DubboProtocolTest.java    From dubbo3 with Apache License 2.0 6 votes vote down vote up
@Test
public void testDubboProtocolMultiService() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    
    RemoteService remote = proxy.getProxy(protocol.refer(RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));

    service.sayHello("world");

    // test netty client
    assertEquals("world", service.echo("world"));
    assertEquals("hello world@" + RemoteServiceImpl.class.getName(), remote.sayHello("world"));
    
    EchoService serviceEcho = (EchoService)service;
    assertEquals(serviceEcho.$echo("test"), "test");
    
    EchoService remoteEecho = (EchoService)remote;
    assertEquals(remoteEecho.$echo("ok"), "ok");
}
 
Example #2
Source File: DubboProtocolTest.java    From dubbo-2.6.5 with Apache License 2.0 6 votes vote down vote up
@Test
public void testDubboProtocolMultiService() throws Exception {
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));

    RemoteService remote = new RemoteServiceImpl();
    protocol.export(proxy.getInvoker(remote, RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    remote = proxy.getProxy(protocol.refer(RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));

    service.sayHello("world");

    // test netty client
    assertEquals("world", service.echo("world"));
    assertEquals("hello world@" + RemoteServiceImpl.class.getName(), remote.sayHello("world"));

    EchoService serviceEcho = (EchoService) service;
    assertEquals(serviceEcho.$echo("test"), "test");

    EchoService remoteEecho = (EchoService) remote;
    assertEquals(remoteEecho.$echo("ok"), "ok");
}
 
Example #3
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Test
public void testDubboProtocolMultiService() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    
    RemoteService remote = new RemoteServiceImpl();
    protocol.export(proxy.getInvoker(remote, RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    remote = proxy.getProxy(protocol.refer(RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    
    service.sayHello("world");
    
    // test netty client
    assertEquals("world", service.echo("world"));
    assertEquals("hello world@" + RemoteServiceImpl.class.getName(), remote.sayHello("world"));
    
    EchoService serviceEcho = (EchoService)service;
    assertEquals(serviceEcho.$echo("test"), "test");
    
    EchoService remoteEecho = (EchoService)remote;
    assertEquals(remoteEecho.$echo("ok"), "ok");
}
 
Example #4
Source File: DubboProtocolTest.java    From dubbox-hystrix with Apache License 2.0 6 votes vote down vote up
@Test
public void testDubboProtocolMultiService() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    
    RemoteService remote = new RemoteServiceImpl();
    protocol.export(proxy.getInvoker(remote, RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    remote = proxy.getProxy(protocol.refer(RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    
    service.sayHello("world");
    
    // test netty client
    assertEquals("world", service.echo("world"));
    assertEquals("hello world@" + RemoteServiceImpl.class.getName(), remote.sayHello("world"));
    
    EchoService serviceEcho = (EchoService)service;
    assertEquals(serviceEcho.$echo("test"), "test");
    
    EchoService remoteEecho = (EchoService)remote;
    assertEquals(remoteEecho.$echo("ok"), "ok");
}
 
Example #5
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Test
public void testDubboProtocolMultiService() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    
    RemoteService remote = new RemoteServiceImpl();
    protocol.export(proxy.getInvoker(remote, RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    remote = proxy.getProxy(protocol.refer(RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    
    service.sayHello("world");
    
    // test netty client
    assertEquals("world", service.echo("world"));
    assertEquals("hello world@" + RemoteServiceImpl.class.getName(), remote.sayHello("world"));
    
    EchoService serviceEcho = (EchoService)service;
    assertEquals(serviceEcho.$echo("test"), "test");
    
    EchoService remoteEecho = (EchoService)remote;
    assertEquals(remoteEecho.$echo("ok"), "ok");
}
 
Example #6
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Test
public void testDubboProtocolMultiService() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    
    RemoteService remote = new RemoteServiceImpl();
    protocol.export(proxy.getInvoker(remote, RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    remote = proxy.getProxy(protocol.refer(RemoteService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + RemoteService.class.getName())));
    
    service.sayHello("world");
    
    // test netty client
    assertEquals("world", service.echo("world"));
    assertEquals("hello world@" + RemoteServiceImpl.class.getName(), remote.sayHello("world"));
    
    EchoService serviceEcho = (EchoService)service;
    assertEquals(serviceEcho.$echo("test"), "test");
    
    EchoService remoteEecho = (EchoService)remote;
    assertEquals(remoteEecho.$echo("ok"), "ok");
}
 
Example #7
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testNonSerializedParameter() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    try {
        service.nonSerializedParameter(new NonSerialized());
        Assert.fail();
    } catch (RpcException e) {
        Assert.assertTrue(e.getMessage().contains("com.alibaba.dubbo.rpc.protocol.dubbo.support.NonSerialized must implement java.io.Serializable"));
    }
}
 
Example #8
Source File: DubboProtocolTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void testDubboProtocolWithMina() throws Exception {
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.SERVER_KEY, "mina")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.CLIENT_KEY, "mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(service.enumlength(new Type[]{}), Type.Lower);
        assertEquals(service.getSize(null), -1);
        assertEquals(service.getSize(new String[]{"", "", ""}), 3);
    }
    Map<String, String> map = new HashMap<String, String>();
    map.put("aa", "bb");
    for(int i = 0; i < 10; i++) {
        Set<String> set = service.keys(map);
        assertEquals(set.size(), 1);
        assertEquals(set.iterator().next(), "aa");
        service.invoke("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "", "invoke");
    }

    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    // test netty client
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < 1024 * 32 + 32; i++)
        buf.append('A');
    System.out.println(service.stringLength(buf.toString()));

    // cast to EchoService
    EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(echo.$echo(buf.toString()), buf.toString());
        assertEquals(echo.$echo("test"), "test");
        assertEquals(echo.$echo("abcdefg"), "abcdefg");
        assertEquals(echo.$echo(1234), 1234);
    }
}
 
Example #9
Source File: DubboProtocolTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void testPerm() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
	long start = System.currentTimeMillis();
	for(int i=0;i<1000;i++)
		service.getSize(new String[]{"", "", ""});
	System.out.println("take:"+(System.currentTimeMillis()-start));
}
 
Example #10
Source File: DubboProtocolTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void testNonSerializedParameter() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    try {
        service.nonSerializedParameter(new NonSerialized());
        Assert.fail();
    } catch (RpcException e) {
        Assert.assertTrue(e.getMessage().contains("com.alibaba.dubbo.rpc.protocol.dubbo.support.NonSerialized must implement java.io.Serializable"));
    }
}
 
Example #11
Source File: DubboProtocolTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void testReturnNonSerialized() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    try {
        service.returnNonSerialized();
        Assert.fail();
    } catch (RpcException e) {
        Assert.assertTrue(e.getMessage().contains("com.alibaba.dubbo.rpc.protocol.dubbo.support.NonSerialized must implement java.io.Serializable"));
    }
}
 
Example #12
Source File: MultiThreadTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
public void testDubboMultiThreadInvoke() throws Exception
{
    Exporter<?> rpcExporter = protocol.export(proxy.getInvoker(new DemoServiceImpl(), DemoService.class, URL.valueOf("dubbo://127.0.0.1:20259/TestService")));
	
	final AtomicInteger counter = new AtomicInteger();
	final DemoService service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:20259/TestService")));
	assertEquals(service.getSize(new String[]{"123", "456", "789"}), 3);

	final StringBuffer sb = new StringBuffer();
	for(int i=0;i<1024*64+32;i++)
		sb.append('A');
	assertEquals(sb.toString(), service.echo(sb.toString()));

	ExecutorService exec = Executors.newFixedThreadPool(10);
	for(int i=0;i<10;i++)
	{
		final int fi = i;
		exec.execute(new Runnable(){
			public void run()
			{
				for(int i=0;i<30;i++)
				{
					System.out.println(fi+":"+counter.getAndIncrement());
					assertEquals(service.echo(sb.toString()), sb.toString());
				}
			}
		});
	}
	exec.shutdown();
	exec.awaitTermination(10, TimeUnit.SECONDS);
	rpcExporter.unexport();
}
 
Example #13
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testDemoProtocol() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9020/" + DemoService.class.getName() + "?codec=exchange")));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9020/" + DemoService.class.getName() + "?codec=exchange")));
	assertEquals(service.getSize(new String[]{"", "", ""}), 3);
}
 
Example #14
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testDubboProtocol() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
	assertEquals(service.enumlength(new Type[]{}), Type.Lower);
	assertEquals(service.getSize(null), -1);
	assertEquals(service.getSize(new String[]{"", "", ""}), 3);
	Map<String, String> map = new HashMap<String, String>();
	map.put("aa", "bb");
	Set<String> set = service.keys(map);
	assertEquals(set.size(), 1);
	assertEquals(set.iterator().next(), "aa");
	service.invoke("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "", "invoke");

	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=netty")));
	// test netty client
	StringBuffer buf = new StringBuffer();
	for(int i=0;i<1024*32+32;i++)
		buf.append('A');
	System.out.println(service.stringLength(buf.toString()));

	// cast to EchoService
	EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=netty")));
	assertEquals(echo.$echo(buf.toString()), buf.toString());
	assertEquals(echo.$echo("test"), "test");
	assertEquals(echo.$echo("abcdefg"), "abcdefg");
	assertEquals(echo.$echo(1234), 1234);
}
 
Example #15
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testDubboProtocolWithMina() throws Exception {
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.SERVER_KEY, "mina")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.CLIENT_KEY, "mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(service.enumlength(new Type[]{}), Type.Lower);
        assertEquals(service.getSize(null), -1);
        assertEquals(service.getSize(new String[]{"", "", ""}), 3);
    }
    Map<String, String> map = new HashMap<String, String>();
    map.put("aa", "bb");
    for(int i = 0; i < 10; i++) {
        Set<String> set = service.keys(map);
        assertEquals(set.size(), 1);
        assertEquals(set.iterator().next(), "aa");
        service.invoke("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "", "invoke");
    }

    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    // test netty client
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < 1024 * 32 + 32; i++)
        buf.append('A');
    System.out.println(service.stringLength(buf.toString()));

    // cast to EchoService
    EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(echo.$echo(buf.toString()), buf.toString());
        assertEquals(echo.$echo("test"), "test");
        assertEquals(echo.$echo("abcdefg"), "abcdefg");
        assertEquals(echo.$echo(1234), 1234);
    }
}
 
Example #16
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testPerm() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
	long start = System.currentTimeMillis();
	for(int i=0;i<1000;i++)
		service.getSize(new String[]{"", "", ""});
	System.out.println("take:"+(System.currentTimeMillis()-start));
}
 
Example #17
Source File: DubboProtocolTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void testDemoProtocol() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9020/" + DemoService.class.getName() + "?codec=exchange")));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9020/" + DemoService.class.getName() + "?codec=exchange")));
	assertEquals(service.getSize(new String[]{"", "", ""}), 3);
}
 
Example #18
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testReturnNonSerialized() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    try {
        service.returnNonSerialized();
        Assert.fail();
    } catch (RpcException e) {
        Assert.assertTrue(e.getMessage().contains("com.alibaba.dubbo.rpc.protocol.dubbo.support.NonSerialized must implement java.io.Serializable"));
    }
}
 
Example #19
Source File: MultiThreadTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
public void testDubboMultiThreadInvoke() throws Exception
{
    Exporter<?> rpcExporter = protocol.export(proxy.getInvoker(new DemoServiceImpl(), DemoService.class, URL.valueOf("dubbo://127.0.0.1:20259/TestService")));
	
	final AtomicInteger counter = new AtomicInteger();
	final DemoService service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:20259/TestService")));
	assertEquals(service.getSize(new String[]{"123", "456", "789"}), 3);

	final StringBuffer sb = new StringBuffer();
	for(int i=0;i<1024*64+32;i++)
		sb.append('A');
	assertEquals(sb.toString(), service.echo(sb.toString()));

	ExecutorService exec = Executors.newFixedThreadPool(10);
	for(int i=0;i<10;i++)
	{
		final int fi = i;
		exec.execute(new Runnable(){
			public void run()
			{
				for(int i=0;i<30;i++)
				{
					System.out.println(fi+":"+counter.getAndIncrement());
					assertEquals(service.echo(sb.toString()), sb.toString());
				}
			}
		});
	}
	exec.shutdown();
	exec.awaitTermination(10, TimeUnit.SECONDS);
	rpcExporter.unexport();
}
 
Example #20
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testDemoProtocol() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9020/" + DemoService.class.getName() + "?codec=exchange")));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9020/" + DemoService.class.getName() + "?codec=exchange")));
	assertEquals(service.getSize(new String[]{"", "", ""}), 3);
}
 
Example #21
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testDubboProtocol() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
	assertEquals(service.enumlength(new Type[]{}), Type.Lower);
	assertEquals(service.getSize(null), -1);
	assertEquals(service.getSize(new String[]{"", "", ""}), 3);
	Map<String, String> map = new HashMap<String, String>();
	map.put("aa", "bb");
	Set<String> set = service.keys(map);
	assertEquals(set.size(), 1);
	assertEquals(set.iterator().next(), "aa");
	service.invoke("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "", "invoke");

	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=netty")));
	// test netty client
	StringBuffer buf = new StringBuffer();
	for(int i=0;i<1024*32+32;i++)
		buf.append('A');
	System.out.println(service.stringLength(buf.toString()));

	// cast to EchoService
	EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=netty")));
	assertEquals(echo.$echo(buf.toString()), buf.toString());
	assertEquals(echo.$echo("test"), "test");
	assertEquals(echo.$echo("abcdefg"), "abcdefg");
	assertEquals(echo.$echo(1234), 1234);
}
 
Example #22
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testDubboProtocolWithMina() throws Exception {
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.SERVER_KEY, "mina")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.CLIENT_KEY, "mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(service.enumlength(new Type[]{}), Type.Lower);
        assertEquals(service.getSize(null), -1);
        assertEquals(service.getSize(new String[]{"", "", ""}), 3);
    }
    Map<String, String> map = new HashMap<String, String>();
    map.put("aa", "bb");
    for(int i = 0; i < 10; i++) {
        Set<String> set = service.keys(map);
        assertEquals(set.size(), 1);
        assertEquals(set.iterator().next(), "aa");
        service.invoke("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "", "invoke");
    }

    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    // test netty client
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < 1024 * 32 + 32; i++)
        buf.append('A');
    System.out.println(service.stringLength(buf.toString()));

    // cast to EchoService
    EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(echo.$echo(buf.toString()), buf.toString());
        assertEquals(echo.$echo("test"), "test");
        assertEquals(echo.$echo("abcdefg"), "abcdefg");
        assertEquals(echo.$echo(1234), 1234);
    }
}
 
Example #23
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testPerm() throws Exception
{
	DemoService service = new DemoServiceImpl();
	protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
	service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
	long start = System.currentTimeMillis();
	for(int i=0;i<1000;i++)
		service.getSize(new String[]{"", "", ""});
	System.out.println("take:"+(System.currentTimeMillis()-start));
}
 
Example #24
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testNonSerializedParameter() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    try {
        service.nonSerializedParameter(new NonSerialized());
        Assert.fail();
    } catch (RpcException e) {
        Assert.assertTrue(e.getMessage().contains("com.alibaba.dubbo.rpc.protocol.dubbo.support.NonSerialized must implement java.io.Serializable"));
    }
}
 
Example #25
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testReturnNonSerialized() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    try {
        service.returnNonSerialized();
        Assert.fail();
    } catch (RpcException e) {
        Assert.assertTrue(e.getMessage().contains("com.alibaba.dubbo.rpc.protocol.dubbo.support.NonSerialized must implement java.io.Serializable"));
    }
}
 
Example #26
Source File: MultiThreadTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
public void testDubboMultiThreadInvoke() throws Exception
{
    Exporter<?> rpcExporter = protocol.export(proxy.getInvoker(new DemoServiceImpl(), DemoService.class, URL.valueOf("dubbo://127.0.0.1:20259/TestService")));
	
	final AtomicInteger counter = new AtomicInteger();
	final DemoService service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:20259/TestService")));
	assertEquals(service.getSize(new String[]{"123", "456", "789"}), 3);

	final StringBuffer sb = new StringBuffer();
	for(int i=0;i<1024*64+32;i++)
		sb.append('A');
	assertEquals(sb.toString(), service.echo(sb.toString()));

	ExecutorService exec = Executors.newFixedThreadPool(10);
	for(int i=0;i<10;i++)
	{
		final int fi = i;
		exec.execute(new Runnable(){
			public void run()
			{
				for(int i=0;i<30;i++)
				{
					System.out.println(fi+":"+counter.getAndIncrement());
					assertEquals(service.echo(sb.toString()), sb.toString());
				}
			}
		});
	}
	exec.shutdown();
	exec.awaitTermination(10, TimeUnit.SECONDS);
	rpcExporter.unexport();
}
 
Example #27
Source File: DubboProtocolTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testNonSerializedParameter() throws Exception
{
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    try {
        service.nonSerializedParameter(new NonSerialized());
        Assert.fail();
    } catch (RpcException e) {
        Assert.assertTrue(e.getMessage().contains("com.alibaba.dubbo.rpc.protocol.dubbo.support.NonSerialized must implement java.io.Serializable"));
    }
}
 
Example #28
Source File: DubboProtocolTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
@Test
public void testDubboProtocol() throws Exception {
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName())));
    assertEquals(service.enumlength(new Type[]{}), Type.Lower);
    assertEquals(service.getSize(null), -1);
    assertEquals(service.getSize(new String[]{"", "", ""}), 3);
    Map<String, String> map = new HashMap<String, String>();
    map.put("aa", "bb");
    Set<String> set = service.keys(map);
    assertEquals(set.size(), 1);
    assertEquals(set.iterator().next(), "aa");
    service.invoke("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "", "invoke");

    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=netty")));
    // test netty client
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < 1024 * 32 + 32; i++)
        buf.append('A');
    System.out.println(service.stringLength(buf.toString()));

    // cast to EchoService
    EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=netty")));
    assertEquals(echo.$echo(buf.toString()), buf.toString());
    assertEquals(echo.$echo("test"), "test");
    assertEquals(echo.$echo("abcdefg"), "abcdefg");
    assertEquals(echo.$echo(1234), 1234);
}
 
Example #29
Source File: DubboProtocolTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
@Test
public void testDubboProtocolWithMina() throws Exception {
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.SERVER_KEY, "mina")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName()).addParameter(Constants.CLIENT_KEY, "mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(service.enumlength(new Type[]{}), Type.Lower);
        assertEquals(service.getSize(null), -1);
        assertEquals(service.getSize(new String[]{"", "", ""}), 3);
    }
    Map<String, String> map = new HashMap<String, String>();
    map.put("aa", "bb");
    for (int i = 0; i < 10; i++) {
        Set<String> set = service.keys(map);
        assertEquals(set.size(), 1);
        assertEquals(set.iterator().next(), "aa");
        service.invoke("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "", "invoke");
    }

    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    // test netty client
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < 1024 * 32 + 32; i++)
        buf.append('A');
    System.out.println(service.stringLength(buf.toString()));

    // cast to EchoService
    EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("dubbo://127.0.0.1:9010/" + DemoService.class.getName() + "?client=mina")));
    for (int i = 0; i < 10; i++) {
        assertEquals(echo.$echo(buf.toString()), buf.toString());
        assertEquals(echo.$echo("test"), "test");
        assertEquals(echo.$echo("abcdefg"), "abcdefg");
        assertEquals(echo.$echo(1234), 1234);
    }
}
 
Example #30
Source File: DubboProtocolTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
@Test
public void testPerm() throws Exception {
    DemoService service = new DemoServiceImpl();
    protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:9050/" + DemoService.class.getName() + "?codec=exchange")));
    long start = System.currentTimeMillis();
    for (int i = 0; i < 1000; i++)
        service.getSize(new String[]{"", "", ""});
    System.out.println("take:" + (System.currentTimeMillis() - start));
}