com.alibaba.dubbo.rpc.Protocol Java Examples
The following examples show how to use
com.alibaba.dubbo.rpc.Protocol.
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: RegistryProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testExport() { RegistryProtocol registryProtocol = new RegistryProtocol(); registryProtocol.setCluster(new FailfastCluster()); registryProtocol.setRegistryFactory(ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension()); Protocol dubboProtocol = DubboProtocol.getDubboProtocol(); registryProtocol.setProtocol(dubboProtocol); URL newRegistryUrl = registryUrl.addParameter(Constants.EXPORT_KEY, serviceUrl); DubboInvoker<DemoService> invoker = new DubboInvoker<DemoService>(DemoService.class, newRegistryUrl, new ExchangeClient[] { new MockedClient("10.20.20.20", 2222, true) }); Exporter<DemoService> exporter = registryProtocol.export(invoker); Exporter<DemoService> exporter2 = registryProtocol.export(invoker); //同一个invoker,多次export的exporter不同 Assert.assertNotSame(exporter, exporter2); exporter.unexport(); exporter2.unexport(); }
Example #2
Source File: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testGenericInvokeWithBean() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&generic=bean"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<GenericService> invoker = protocol.refer(GenericService.class, url); GenericService client = proxyFactory.getProxy(invoker); JavaBeanDescriptor javaBeanDescriptor = JavaBeanSerializeUtil.serialize("haha"); Object result = client.$invoke("sayHello", new String[]{"java.lang.String"}, new Object[]{javaBeanDescriptor}); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", JavaBeanSerializeUtil.deserialize((JavaBeanDescriptor) result)); invoker.destroy(); exporter.unexport(); }
Example #3
Source File: ProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void test_destroyWontCloseAllProtocol() throws Exception { Protocol autowireProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); Protocol InjvmProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension("injvm"); InjvmProtocol.export(invoker); Invoker<IEcho> refer = InjvmProtocol.refer(IEcho.class, url); IEcho echoProxy = proxyFactory.getProxy(refer); assertEquals("ok", echoProxy.echo("ok")); try { autowireProtocol.destroy(); } catch (UnsupportedOperationException expected) { assertThat(expected.getMessage(), containsString("of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!")); } assertEquals("ok2", echoProxy.echo("ok2")); }
Example #4
Source File: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testOverload() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&hessian.overload.method=true&hessian2.request=false"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); String result = client.sayHello("haha"); Assert.assertEquals("Hello, haha", result); result = client.sayHello("haha", 1); Assert.assertEquals("Hello, haha. ", result); invoker.destroy(); exporter.unexport(); }
Example #5
Source File: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testGenericInvoke() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<GenericService> invoker = protocol.refer(GenericService.class, url); GenericService client = proxyFactory.getProxy(invoker, true); String result = (String) client.$invoke("sayHello", new String[]{"java.lang.String"}, new Object[]{"haha"}); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", result); invoker.destroy(); exporter.unexport(); }
Example #6
Source File: MockClusterInvokerTest.java From dubbo3 with Apache License 2.0 | 6 votes |
@Test public void testMockInvokerInvoke_forcemock_defaultreturn(){ URL url = URL.valueOf("remote://1.2.3.4/"+IHelloService.class.getName()); url = url.addParameter(Constants.MOCK_KEY, "force" ); Invoker<IHelloService> cluster = getClusterInvoker(url); URL mockUrl = URL.valueOf("mock://localhost/"+IHelloService.class.getName() +"?getSomething.mock=return aa&getSomething3xx.mock=return xx&sayHello.mock=return ") .addParameters(url.getParameters()); Protocol protocol = new MockProtocol(); Invoker<IHelloService> mInvoker1 = protocol.refer(IHelloService.class, mockUrl); invokers.add(mInvoker1); RpcInvocation invocation = new RpcInvocation(); invocation.setMethodName("sayHello"); Result ret = cluster.invoke(invocation); Assert.assertEquals(null, ret.getValue()); }
Example #7
Source File: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testGenericInvokeWithNativeJava() throws IOException, ClassNotFoundException { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&generic=nativejava"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<GenericService> invoker = protocol.refer(GenericService.class, url); GenericService client = proxyFactory.getProxy(invoker); Serialization serialization = new NativeJavaSerialization(); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream); objectOutput.writeObject("haha"); objectOutput.flushBuffer(); Object result = client.$invoke("sayHello", new String[]{"java.lang.String"}, new Object[]{byteArrayOutputStream.toByteArray()}); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream((byte[]) result); ObjectInput objectInput = serialization.deserialize(url, byteArrayInputStream); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", objectInput.readObject()); invoker.destroy(); exporter.unexport(); }
Example #8
Source File: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testTimeOut() { HessianServiceImpl server = new HessianServiceImpl(); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&timeout=10"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); try { client.timeOut(6000); fail(); } catch (RpcException expected) { Assert.assertTrue(expected.isTimeout()); } finally { invoker.destroy(); exporter.unexport(); } }
Example #9
Source File: RegistryProtocolTest.java From dubbox-hystrix with Apache License 2.0 | 6 votes |
@Test public void testExport() { RegistryProtocol registryProtocol = new RegistryProtocol(); registryProtocol.setCluster(new FailfastCluster()); registryProtocol.setRegistryFactory(ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension()); Protocol dubboProtocol = DubboProtocol.getDubboProtocol(); registryProtocol.setProtocol(dubboProtocol); URL newRegistryUrl = registryUrl.addParameter(Constants.EXPORT_KEY, serviceUrl); DubboInvoker<DemoService> invoker = new DubboInvoker<DemoService>(DemoService.class, newRegistryUrl, new ExchangeClient[] { new MockedClient("10.20.20.20", 2222, true) }); Exporter<DemoService> exporter = registryProtocol.export(invoker); Exporter<DemoService> exporter2 = registryProtocol.export(invoker); //同一个invoker,多次export的exporter不同 Assert.assertNotSame(exporter, exporter2); exporter.unexport(); exporter2.unexport(); }
Example #10
Source File: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testCustomException() { HessianServiceImpl server = new HessianServiceImpl(); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); try { client.customException(); fail(); } catch (MyException expected) { } invoker.destroy(); exporter.unexport(); }
Example #11
Source File: MockClusterInvokerTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testMockInvokerInvoke_forcemock_defaultreturn() { URL url = URL.valueOf("remote://1.2.3.4/" + IHelloService.class.getName()); url = url.addParameter(Constants.MOCK_KEY, "force"); Invoker<IHelloService> cluster = getClusterInvoker(url); URL mockUrl = URL.valueOf("mock://localhost/" + IHelloService.class.getName() + "?getSomething.mock=return aa&getSomething3xx.mock=return xx&sayHello.mock=return ") .addParameters(url.getParameters()); Protocol protocol = new MockProtocol(); Invoker<IHelloService> mInvoker1 = protocol.refer(IHelloService.class, mockUrl); invokers.add(mInvoker1); RpcInvocation invocation = new RpcInvocation(); invocation.setMethodName("sayHello"); Result ret = cluster.invoke(invocation); Assert.assertEquals(null, ret.getValue()); }
Example #12
Source File: MockClusterInvokerTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testMockInvokerInvoke_forcemock_defaultreturn(){ URL url = URL.valueOf("remote://1.2.3.4/"+IHelloService.class.getName()); url = url.addParameter(Constants.MOCK_KEY, "force" ); Invoker<IHelloService> cluster = getClusterInvoker(url); URL mockUrl = URL.valueOf("mock://localhost/"+IHelloService.class.getName() +"?getSomething.mock=return aa&getSomething3xx.mock=return xx&sayHello.mock=return ") .addParameters(url.getParameters()); Protocol protocol = new MockProtocol(); Invoker<IHelloService> mInvoker1 = protocol.refer(IHelloService.class, mockUrl); invokers.add(mInvoker1); RpcInvocation invocation = new RpcInvocation(); invocation.setMethodName("sayHello"); Result ret = cluster.invoke(invocation); Assert.assertEquals(null, ret.getValue()); }
Example #13
Source File: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testHessianProtocol() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&hessian.overload.method=true"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); String result = client.sayHello("haha"); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", result); invoker.destroy(); exporter.unexport(); }
Example #14
Source File: ProtocolTest.java From dubbox-hystrix with Apache License 2.0 | 6 votes |
@Test public void test_destroyWontCloseAllProtocol() throws Exception { Protocol autowireProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); Protocol InjvmProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension("injvm"); InjvmProtocol.export(invoker); Invoker<IEcho> refer = InjvmProtocol.refer(IEcho.class, url); IEcho echoProxy = proxyFactory.getProxy(refer); assertEquals("ok", echoProxy.echo("ok")); try { autowireProtocol.destroy(); } catch (UnsupportedOperationException expected) { assertThat(expected.getMessage(), containsString("of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!")); } assertEquals("ok2", echoProxy.echo("ok2")); }
Example #15
Source File: HessianProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testTimeOut() { HessianServiceImpl server = new HessianServiceImpl(); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&timeout=10"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); try { client.timeOut(6000); fail(); } catch (RpcException expected) { Assert.assertEquals(true, expected.isTimeout()); }finally{ invoker.destroy(); exporter.unexport(); } }
Example #16
Source File: RegistryProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testExport() { RegistryProtocol registryProtocol = new RegistryProtocol(); registryProtocol.setCluster(new FailfastCluster()); registryProtocol.setRegistryFactory(ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension()); Protocol dubboProtocol = DubboProtocol.getDubboProtocol(); registryProtocol.setProtocol(dubboProtocol); URL newRegistryUrl = registryUrl.addParameter(Constants.EXPORT_KEY, serviceUrl); DubboInvoker<DemoService> invoker = new DubboInvoker<DemoService>(DemoService.class, newRegistryUrl, new ExchangeClient[]{new MockedClient("10.20.20.20", 2222, true)}); Exporter<DemoService> exporter = registryProtocol.export(invoker); Exporter<DemoService> exporter2 = registryProtocol.export(invoker); //The same invoker, exporter that multiple exported are different Assert.assertNotSame(exporter, exporter2); exporter.unexport(); exporter2.unexport(); }
Example #17
Source File: RegistryProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testExport() { RegistryProtocol registryProtocol = new RegistryProtocol(); registryProtocol.setCluster(new FailfastCluster()); registryProtocol.setRegistryFactory(ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension()); Protocol dubboProtocol = DubboProtocol.getDubboProtocol(); registryProtocol.setProtocol(dubboProtocol); URL newRegistryUrl = registryUrl.addParameter(Constants.EXPORT_KEY, serviceUrl); DubboInvoker<DemoService> invoker = new DubboInvoker<DemoService>(DemoService.class, newRegistryUrl, new ExchangeClient[] { new MockedClient("10.20.20.20", 2222, true) }); Exporter<DemoService> exporter = registryProtocol.export(invoker); Exporter<DemoService> exporter2 = registryProtocol.export(invoker); //同一个invoker,多次export的exporter不同 Assert.assertNotSame(exporter, exporter2); exporter.unexport(); exporter2.unexport(); }
Example #18
Source File: MockClusterInvokerTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testMockInvokerInvoke_forcemock_defaultreturn(){ URL url = URL.valueOf("remote://1.2.3.4/"+IHelloService.class.getName()); url = url.addParameter(Constants.MOCK_KEY, "force" ); Invoker<IHelloService> cluster = getClusterInvoker(url); URL mockUrl = URL.valueOf("mock://localhost/"+IHelloService.class.getName() +"?getSomething.mock=return aa&getSomething3xx.mock=return xx&sayHello.mock=return ") .addParameters(url.getParameters()); Protocol protocol = new MockProtocol(); Invoker<IHelloService> mInvoker1 = protocol.refer(IHelloService.class, mockUrl); invokers.add(mInvoker1); RpcInvocation invocation = new RpcInvocation(); invocation.setMethodName("sayHello"); Result ret = cluster.invoke(invocation); Assert.assertEquals(null, ret.getValue()); }
Example #19
Source File: JsonRpcProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testJsonrpcProtocol() { JsonRpcServiceImpl server = new JsonRpcServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("jsonrpc://127.0.0.1:5342/" + JsonRpcService.class.getName() + "?version=1.0.0"); Exporter<JsonRpcService> exporter = protocol.export(proxyFactory.getInvoker(server, JsonRpcService.class, url)); Invoker<JsonRpcService> invoker = protocol.refer(JsonRpcService.class, url); JsonRpcService client = proxyFactory.getProxy(invoker); String result = client.sayHello("haha"); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", result); invoker.destroy(); exporter.unexport(); }
Example #20
Source File: RegistryProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testExport() { RegistryProtocol registryProtocol = new RegistryProtocol(); registryProtocol.setCluster(new FailfastCluster()); registryProtocol.setRegistryFactory(ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension()); Protocol dubboProtocol = DubboProtocol.getDubboProtocol(); registryProtocol.setProtocol(dubboProtocol); URL newRegistryUrl = registryUrl.addParameter(Constants.EXPORT_KEY, serviceUrl); DubboInvoker<DemoService> invoker = new DubboInvoker<DemoService>(DemoService.class, newRegistryUrl, new ExchangeClient[] { new MockedClient("10.20.20.20", 2222, true) }); Exporter<DemoService> exporter = registryProtocol.export(invoker); Exporter<DemoService> exporter2 = registryProtocol.export(invoker); //同一个invoker,多次export的exporter不同 Assert.assertNotSame(exporter, exporter2); exporter.unexport(); exporter2.unexport(); }
Example #21
Source File: HessianProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testHessianProtocol() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); String result = client.sayHello("haha"); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", result); invoker.destroy(); exporter.unexport(); }
Example #22
Source File: HessianProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testHttpClient() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&client=httpclient"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); String result = client.sayHello("haha"); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", result); invoker.destroy(); exporter.unexport(); }
Example #23
Source File: HessianProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testTimeOut() { HessianServiceImpl server = new HessianServiceImpl(); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&timeout=10"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); try { client.timeOut(6000); fail(); } catch (RpcException expected) { Assert.assertEquals(true, expected.isTimeout()); }finally{ invoker.destroy(); exporter.unexport(); } }
Example #24
Source File: HessianProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testHessianProtocol() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); String result = client.sayHello("haha"); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", result); invoker.destroy(); exporter.unexport(); }
Example #25
Source File: HessianProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testCustomException() { HessianServiceImpl server = new HessianServiceImpl(); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<HessianService> invoker = protocol.refer(HessianService.class, url); HessianService client = proxyFactory.getProxy(invoker); try { client.customException(); fail(); } catch (MyException expected) { } invoker.destroy(); exporter.unexport(); }
Example #26
Source File: ProtocolTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void test_destroyWontCloseAllProtocol() throws Exception { Protocol autowireProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); Protocol InjvmProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension("injvm"); InjvmProtocol.export(invoker); Invoker<IEcho> refer = InjvmProtocol.refer(IEcho.class, url); IEcho echoProxy = proxyFactory.getProxy(refer); assertEquals("ok", echoProxy.echo("ok")); try { autowireProtocol.destroy(); } catch (UnsupportedOperationException expected) { assertThat(expected.getMessage(), containsString("of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!")); } assertEquals("ok2", echoProxy.echo("ok2")); }
Example #27
Source File: MockClusterInvokerTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test public void testMockInvokerInvoke_forcemock_defaultreturn(){ URL url = URL.valueOf("remote://1.2.3.4/"+IHelloService.class.getName()); url = url.addParameter(Constants.MOCK_KEY, "force" ); Invoker<IHelloService> cluster = getClusterInvoker(url); URL mockUrl = URL.valueOf("mock://localhost/"+IHelloService.class.getName() +"?getSomething.mock=return aa&getSomething3xx.mock=return xx&sayHello.mock=return ") .addParameters(url.getParameters()); Protocol protocol = new MockProtocol(); Invoker<IHelloService> mInvoker1 = protocol.refer(IHelloService.class, mockUrl); invokers.add(mInvoker1); RpcInvocation invocation = new RpcInvocation(); invocation.setMethodName("sayHello"); Result ret = cluster.invoke(invocation); Assert.assertEquals(null, ret.getValue()); }
Example #28
Source File: ProtocolTest.java From dubbo3 with Apache License 2.0 | 6 votes |
@Test public void test_destroyWontCloseAllProtocol() throws Exception { Protocol autowireProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); Protocol InjvmProtocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension("injvm"); InjvmProtocol.export(invoker); Invoker<IEcho> refer = InjvmProtocol.refer(IEcho.class, url); IEcho echoProxy = proxyFactory.getProxy(refer); assertEquals("ok", echoProxy.echo("ok")); try { autowireProtocol.destroy(); } catch (UnsupportedOperationException expected) { assertThat(expected.getMessage(), containsString("of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!")); } assertEquals("ok2", echoProxy.echo("ok2")); }
Example #29
Source File: AbstractTest.java From dubbox with Apache License 2.0 | 5 votes |
protected void init() throws Exception { TServerTransport serverTransport = new TServerSocket( PORT ); TBinaryProtocol.Factory bFactory = new TBinaryProtocol.Factory(); server = new TThreadPoolServer( new TThreadPoolServer.Args( serverTransport ) .inputProtocolFactory( bFactory ) .outputProtocolFactory( bFactory ) .inputTransportFactory( getTransportFactory() ) .outputTransportFactory( getTransportFactory() ) .processor( getProcessor() ) ); Thread startTread = new Thread() { @Override public void run() { server.serve(); } }; startTread.setName( "thrift-server" ); startTread.start(); while( !server.isServing() ) { Thread.sleep( 100 ); } protocol = ExtensionLoader.getExtensionLoader(Protocol.class) .getExtension( ThriftProtocol.NAME ); invoker = protocol.refer( getInterface(), getUrl() ); }
Example #30
Source File: RegistryProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 5 votes |
@Test(expected = IllegalArgumentException.class) public void testExportUrlNull() { RegistryProtocol registryProtocol = new RegistryProtocol(); registryProtocol.setCluster(new FailfastCluster()); Protocol dubboProtocol = DubboProtocol.getDubboProtocol(); registryProtocol.setProtocol(dubboProtocol); Invoker<DemoService> invoker = new DubboInvoker<DemoService>(DemoService.class, registryUrl, new ExchangeClient[]{new MockedClient("10.20.20.20", 2222, true)}); registryProtocol.export(invoker); }