com.alibaba.dubbo.rpc.cluster.Directory Java Examples
The following examples show how to use
com.alibaba.dubbo.rpc.cluster.Directory.
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: FailoverClusterInvokerTest.java From dubbo3 with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(null).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailoverClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker1); FailoverClusterInvoker<FailoverClusterInvokerTest> invoker = new FailoverClusterInvoker<FailoverClusterInvokerTest>(dic); try { invoker.invoke(invocation); fail(); } catch (RpcException expected) { assertFalse(expected.getCause() instanceof RpcException); } }
Example #2
Source File: FailfastClusterInvokerTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = mock(Directory.class); given(dic.getUrl()).willReturn(url); given(dic.list(invocation)).willReturn(null); given(dic.getInterface()).willReturn(FailfastClusterInvokerTest.class); invocation.setMethodName("method1"); invokers.add(invoker1); resetInvoker1ToNoException(); FailfastClusterInvoker<FailfastClusterInvokerTest> invoker = new FailfastClusterInvoker<FailfastClusterInvokerTest>(dic); try { invoker.invoke(invocation); fail(); } catch (RpcException expected) { assertFalse(expected.getCause() instanceof RpcException); } }
Example #3
Source File: FailoverClusterInvokerTest.java From dubbox-hystrix with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(null).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailoverClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker1); FailoverClusterInvoker<FailoverClusterInvokerTest> invoker = new FailoverClusterInvoker<FailoverClusterInvokerTest>(dic); try { invoker.invoke(invocation); fail(); } catch (RpcException expected) { assertFalse(expected.getCause() instanceof RpcException); } }
Example #4
Source File: FailoverClusterInvokerTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(null).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailoverClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker1); FailoverClusterInvoker<FailoverClusterInvokerTest> invoker = new FailoverClusterInvoker<FailoverClusterInvokerTest>(dic); try { invoker.invoke(invocation); fail(); } catch (RpcException expected) { assertFalse(expected.getCause() instanceof RpcException); } }
Example #5
Source File: FailfastClusterInvokerTest.java From dubbo3 with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(null).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailfastClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker1); resetInvoker1ToNoException(); FailfastClusterInvoker<FailfastClusterInvokerTest> invoker = new FailfastClusterInvoker<FailfastClusterInvokerTest>(dic); try { invoker.invoke(invocation); fail(); } catch (RpcException expected) { assertFalse(expected.getCause() instanceof RpcException); } }
Example #6
Source File: FailoverClusterInvokerTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(null).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailoverClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker1); FailoverClusterInvoker<FailoverClusterInvokerTest> invoker = new FailoverClusterInvoker<FailoverClusterInvokerTest>(dic); try { invoker.invoke(invocation); fail(); } catch (RpcException expected) { assertFalse(expected.getCause() instanceof RpcException); } }
Example #7
Source File: FailoverClusterInvokerTest.java From dubbox with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(null).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailoverClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker1); FailoverClusterInvoker<FailoverClusterInvokerTest> invoker = new FailoverClusterInvoker<FailoverClusterInvokerTest>(dic); try { invoker.invoke(invocation); fail(); } catch (RpcException expected) { assertFalse(expected.getCause() instanceof RpcException); } }
Example #8
Source File: FailSafeClusterInvokerTest.java From dubbox-hystrix with Apache License 2.0 | 6 votes |
@Test() public void testNoInvoke() { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(null).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(DemoService.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); resetInvokerToNoException(); FailsafeClusterInvoker<DemoService> invoker = new FailsafeClusterInvoker<DemoService>(dic); LogUtil.start(); invoker.invoke(invocation); assertTrue(LogUtil.findMessage("No provider") > 0); LogUtil.stop(); }
Example #9
Source File: FailoverClusterInvokerTest.java From dubbox with Apache License 2.0 | 6 votes |
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(invokers).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailoverClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker1); invokers.add(invoker2); }
Example #10
Source File: FailbackClusterInvokerTest.java From dubbox-hystrix with Apache License 2.0 | 5 votes |
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(invokers).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailbackClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker); }
Example #11
Source File: AbstractClusterInvoker.java From dubbo3 with Apache License 2.0 | 5 votes |
public AbstractClusterInvoker(Directory<T> directory, URL url) { if (directory == null) throw new IllegalArgumentException("service directory == null"); this.directory = directory ; //sticky 需要检测 avaliablecheck this.availablecheck = url.getParameter(Constants.CLUSTER_AVAILABLE_CHECK_KEY, Constants.DEFAULT_CLUSTER_AVAILABLE_CHECK) ; }
Example #12
Source File: AbstractClusterInvoker.java From dubbo-2.6.5 with Apache License 2.0 | 5 votes |
public AbstractClusterInvoker(Directory<T> directory, URL url) { if (directory == null) throw new IllegalArgumentException("service directory == null"); this.directory = directory; //sticky: invoker.isAvailable() should always be checked before using when availablecheck is true. this.availablecheck = url.getParameter(Constants.CLUSTER_AVAILABLE_CHECK_KEY, Constants.DEFAULT_CLUSTER_AVAILABLE_CHECK); }
Example #13
Source File: FailbackClusterInvokerTest.java From dubbox with Apache License 2.0 | 5 votes |
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(invokers).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailbackClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker); }
Example #14
Source File: FailbackClusterInvokerTest.java From dubbo3 with Apache License 2.0 | 5 votes |
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(invokers).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailbackClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker); }
Example #15
Source File: AbstractClusterInvoker.java From dubbox-hystrix with Apache License 2.0 | 5 votes |
public AbstractClusterInvoker(Directory<T> directory, URL url) { if (directory == null) throw new IllegalArgumentException("service directory == null"); this.directory = directory ; //sticky 需要检测 avaliablecheck this.availablecheck = url.getParameter(Constants.CLUSTER_AVAILABLE_CHECK_KEY, Constants.DEFAULT_CLUSTER_AVAILABLE_CHECK) ; }
Example #16
Source File: AvailableCluster.java From dubbox with Apache License 2.0 | 5 votes |
public <T> Invoker<T> join(Directory<T> directory) throws RpcException { return new AbstractClusterInvoker<T>(directory) { public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException { for (Invoker<T> invoker : invokers) { if (invoker.isAvailable()) { return invoker.invoke(invocation); } } throw new RpcException("No provider available in " + invokers); } }; }
Example #17
Source File: MergeableClusterInvokerTest.java From dubbox with Apache License 2.0 | 5 votes |
@Before public void setUp() throws Exception { directory = EasyMock.createMock( Directory.class ); firstInvoker = EasyMock.createMock( Invoker.class ); secondInvoker = EasyMock.createMock( Invoker.class ); invocation = EasyMock.createMock( Invocation.class ); }
Example #18
Source File: FailoverClusterInvokerTest.java From dubbox-hystrix with Apache License 2.0 | 5 votes |
/** * 测试在调用重试过程中,directory列表变更,invoke重试时重新进行list选择 */ @Test public void testInvokerDestoryAndReList(){ final URL url = URL.valueOf("test://localhost/"+ Demo.class.getName() + "?loadbalance=roundrobin&retries="+retries); RpcException exception = new RpcException(RpcException.TIMEOUT_EXCEPTION); MockInvoker<Demo> invoker1 = new MockInvoker<Demo>(Demo.class, url); invoker1.setException(exception); MockInvoker<Demo> invoker2 = new MockInvoker<Demo>(Demo.class, url); invoker2.setException(exception); final List<Invoker<Demo>> invokers = new ArrayList<Invoker<Demo>>(); invokers.add(invoker1); invokers.add(invoker2); Callable<Object> callable = new Callable<Object>() { public Object call() throws Exception { //模拟invoker全部被destroy掉 for (Invoker<Demo> invoker:invokers){ invoker.destroy(); } invokers.clear(); MockInvoker<Demo> invoker3 = new MockInvoker<Demo>(Demo.class, url); invokers.add(invoker3); return null; } }; invoker1.setCallable(callable); invoker2.setCallable(callable); RpcInvocation inv = new RpcInvocation(); inv.setMethodName("test"); Directory<Demo> dic = new MockDirectory<Demo>(url, invokers); FailoverClusterInvoker<Demo> clusterinvoker = new FailoverClusterInvoker<Demo>(dic); clusterinvoker.invoke(inv); }
Example #19
Source File: AvailableCluster.java From dubbox-hystrix with Apache License 2.0 | 5 votes |
public <T> Invoker<T> join(Directory<T> directory) throws RpcException { return new AbstractClusterInvoker<T>(directory) { public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException { for (Invoker<T> invoker : invokers) { if (invoker.isAvailable()) { return invoker.invoke(invocation); } } throw new RpcException("No provider available in " + invokers); } }; }
Example #20
Source File: FailSafeClusterInvokerTest.java From dubbox-hystrix with Apache License 2.0 | 5 votes |
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(invokers).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(DemoService.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker); }
Example #21
Source File: FailbackClusterInvokerTest.java From dubbo-2.6.5 with Apache License 2.0 | 5 votes |
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { dic = mock(Directory.class); given(dic.getUrl()).willReturn(url); given(dic.list(invocation)).willReturn(invokers); given(dic.getInterface()).willReturn(FailbackClusterInvokerTest.class); invocation.setMethodName("method1"); invokers.add(invoker); }
Example #22
Source File: FailoverClusterInvokerTest.java From dubbo-2.6.5 with Apache License 2.0 | 5 votes |
/** * When invokers in directory changes after a failed request but just before a retry effort, * then we should reselect from the latest invokers before retry. */ @Test public void testInvokerDestroyAndReList() { final URL url = URL.valueOf("test://localhost/" + Demo.class.getName() + "?loadbalance=roundrobin&retries=" + retries); RpcException exception = new RpcException(RpcException.TIMEOUT_EXCEPTION); MockInvoker<Demo> invoker1 = new MockInvoker<Demo>(Demo.class, url); invoker1.setException(exception); MockInvoker<Demo> invoker2 = new MockInvoker<Demo>(Demo.class, url); invoker2.setException(exception); final List<Invoker<Demo>> invokers = new ArrayList<Invoker<Demo>>(); invokers.add(invoker1); invokers.add(invoker2); Callable<Object> callable = new Callable<Object>() { public Object call() throws Exception { //Simulation: all invokers are destroyed for (Invoker<Demo> invoker : invokers) { invoker.destroy(); } invokers.clear(); MockInvoker<Demo> invoker3 = new MockInvoker<Demo>(Demo.class, url); invokers.add(invoker3); return null; } }; invoker1.setCallable(callable); invoker2.setCallable(callable); RpcInvocation inv = new RpcInvocation(); inv.setMethodName("test"); Directory<Demo> dic = new MockDirectory<Demo>(url, invokers); FailoverClusterInvoker<Demo> clusterinvoker = new FailoverClusterInvoker<Demo>(dic); clusterinvoker.invoke(inv); }
Example #23
Source File: AbstractClusterInvoker.java From dubbox with Apache License 2.0 | 5 votes |
public AbstractClusterInvoker(Directory<T> directory, URL url) { if (directory == null) throw new IllegalArgumentException("service directory == null"); this.directory = directory ; //sticky 需要检测 avaliablecheck this.availablecheck = url.getParameter(Constants.CLUSTER_AVAILABLE_CHECK_KEY, Constants.DEFAULT_CLUSTER_AVAILABLE_CHECK) ; }
Example #24
Source File: MergeableClusterInvokerTest.java From dubbo-2.6.5 with Apache License 2.0 | 5 votes |
@Before public void setUp() throws Exception { directory = mock(Directory.class); firstInvoker = mock(Invoker.class); secondInvoker = mock(Invoker.class); invocation = mock(Invocation.class); }
Example #25
Source File: MergeableClusterInvokerTest.java From dubbox with Apache License 2.0 | 5 votes |
@Before public void setUp() throws Exception { directory = EasyMock.createMock( Directory.class ); firstInvoker = EasyMock.createMock( Invoker.class ); secondInvoker = EasyMock.createMock( Invoker.class ); invocation = EasyMock.createMock( Invocation.class ); }
Example #26
Source File: FailbackClusterInvokerTest.java From dubbox with Apache License 2.0 | 5 votes |
/** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { dic = EasyMock.createMock(Directory.class); EasyMock.expect(dic.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(dic.list(invocation)).andReturn(invokers).anyTimes(); EasyMock.expect(dic.getInterface()).andReturn(FailbackClusterInvokerTest.class).anyTimes(); invocation.setMethodName("method1"); EasyMock.replay(dic); invokers.add(invoker); }
Example #27
Source File: FailoverClusterInvokerTest.java From dubbox with Apache License 2.0 | 5 votes |
/** * 测试在调用重试过程中,directory列表变更,invoke重试时重新进行list选择 */ @Test public void testInvokerDestoryAndReList(){ final URL url = URL.valueOf("test://localhost/"+ Demo.class.getName() + "?loadbalance=roundrobin&retries="+retries); RpcException exception = new RpcException(RpcException.TIMEOUT_EXCEPTION); MockInvoker<Demo> invoker1 = new MockInvoker<Demo>(Demo.class, url); invoker1.setException(exception); MockInvoker<Demo> invoker2 = new MockInvoker<Demo>(Demo.class, url); invoker2.setException(exception); final List<Invoker<Demo>> invokers = new ArrayList<Invoker<Demo>>(); invokers.add(invoker1); invokers.add(invoker2); Callable<Object> callable = new Callable<Object>() { public Object call() throws Exception { //模拟invoker全部被destroy掉 for (Invoker<Demo> invoker:invokers){ invoker.destroy(); } invokers.clear(); MockInvoker<Demo> invoker3 = new MockInvoker<Demo>(Demo.class, url); invokers.add(invoker3); return null; } }; invoker1.setCallable(callable); invoker2.setCallable(callable); RpcInvocation inv = new RpcInvocation(); inv.setMethodName("test"); Directory<Demo> dic = new MockDirectory<Demo>(url, invokers); FailoverClusterInvoker<Demo> clusterinvoker = new FailoverClusterInvoker<Demo>(dic); clusterinvoker.invoke(inv); }
Example #28
Source File: FailoverClusterInvokerTest.java From dubbo3 with Apache License 2.0 | 5 votes |
/** * 测试在调用重试过程中,directory列表变更,invoke重试时重新进行list选择 */ @Test public void testInvokerDestoryAndReList(){ final URL url = URL.valueOf("test://localhost/"+ Demo.class.getName() + "?loadbalance=roundrobin&retries="+retries); RpcException exception = new RpcException(RpcException.TIMEOUT_EXCEPTION); MockInvoker<Demo> invoker1 = new MockInvoker<Demo>(Demo.class, url); invoker1.setException(exception); MockInvoker<Demo> invoker2 = new MockInvoker<Demo>(Demo.class, url); invoker2.setException(exception); final List<Invoker<Demo>> invokers = new ArrayList<Invoker<Demo>>(); invokers.add(invoker1); invokers.add(invoker2); Callable<Object> callable = new Callable<Object>() { public Object call() throws Exception { //模拟invoker全部被destroy掉 for (Invoker<Demo> invoker:invokers){ invoker.destroy(); } invokers.clear(); MockInvoker<Demo> invoker3 = new MockInvoker<Demo>(Demo.class, url); invokers.add(invoker3); return null; } }; invoker1.setCallable(callable); invoker2.setCallable(callable); RpcInvocation inv = new RpcInvocation(); inv.setMethodName("test"); Directory<Demo> dic = new MockDirectory<Demo>(url, invokers); FailoverClusterInvoker<Demo> clusterinvoker = new FailoverClusterInvoker<Demo>(dic); clusterinvoker.invoke(inv); }
Example #29
Source File: AbstractClusterInvoker.java From dubbox with Apache License 2.0 | 5 votes |
public AbstractClusterInvoker(Directory<T> directory, URL url) { if (directory == null) throw new IllegalArgumentException("service directory == null"); this.directory = directory ; //sticky 需要检测 avaliablecheck this.availablecheck = url.getParameter(Constants.CLUSTER_AVAILABLE_CHECK_KEY, Constants.DEFAULT_CLUSTER_AVAILABLE_CHECK) ; }
Example #30
Source File: FailoverCluster.java From dubbox with Apache License 2.0 | 4 votes |
public <T> Invoker<T> join(Directory<T> directory) throws RpcException { return new FailoverClusterInvoker<T>(directory); }