当前位置: 首页>>代码示例>>Java>>正文


Java RpcException.TIMEOUT_EXCEPTION属性代码示例

本文整理汇总了Java中com.alibaba.dubbo.rpc.RpcException.TIMEOUT_EXCEPTION属性的典型用法代码示例。如果您正苦于以下问题:Java RpcException.TIMEOUT_EXCEPTION属性的具体用法?Java RpcException.TIMEOUT_EXCEPTION怎么用?Java RpcException.TIMEOUT_EXCEPTION使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.alibaba.dubbo.rpc.RpcException的用法示例。


在下文中一共展示了RpcException.TIMEOUT_EXCEPTION属性的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getErrorCode

protected int getErrorCode(Throwable e) {
    if (e instanceof RemoteAccessException) {
        e = e.getCause();
    }
    if (e != null && e.getCause() != null) {
        Class<?> cls = e.getCause().getClass();
        // 是根据测试Case发现的问题,对RpcException.setCode进行设置
        if (SocketTimeoutException.class.equals(cls)) {
            return RpcException.TIMEOUT_EXCEPTION;
        } else if (IOException.class.isAssignableFrom(cls)) {
            return RpcException.NETWORK_EXCEPTION;
        } else if (ClassNotFoundException.class.isAssignableFrom(cls)) {
            return RpcException.SERIALIZATION_EXCEPTION;
        }
    }
    return super.getErrorCode(e);
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:17,代码来源:RmiProtocol.java

示例2: getErrorCode

protected int getErrorCode(Throwable e) {
    if (e instanceof RemoteAccessException) {
        e = e.getCause();
    }
    if (e != null) {
        Class<?> cls = e.getClass();
        // 是根据测试Case发现的问题,对RpcException.setCode进行设置
        if (SocketTimeoutException.class.equals(cls)) {
            return RpcException.TIMEOUT_EXCEPTION;
        } else if (IOException.class.isAssignableFrom(cls)) {
            return RpcException.NETWORK_EXCEPTION;
        } else if (ClassNotFoundException.class.isAssignableFrom(cls)) {
            return RpcException.SERIALIZATION_EXCEPTION;
        }
    }
    return super.getErrorCode(e);
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:17,代码来源:HttpProtocol.java

示例3: testInvokerDestoryAndReList

/**
   * 测试在调用重试过程中,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);
  }
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:40,代码来源:FailoverClusterInvokerTest.java

示例4: getErrorCode

protected int getErrorCode(Throwable e) {
    if (e instanceof HessianConnectionException) {
        if (e.getCause() != null) {
            Class<?> cls = e.getCause().getClass();
            if (SocketTimeoutException.class.equals(cls)) {
                return RpcException.TIMEOUT_EXCEPTION;
            }
        }
        return RpcException.NETWORK_EXCEPTION;
    } else if (e instanceof HessianMethodSerializationException) {
        return RpcException.SERIALIZATION_EXCEPTION;
    }
    return super.getErrorCode(e);
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:14,代码来源:HessianProtocol.java

示例5: getErrorCode

protected int getErrorCode(Throwable e) {
	if (e instanceof Fault) {
        e = e.getCause();
    }
    if (e instanceof SocketTimeoutException) {
        return RpcException.TIMEOUT_EXCEPTION;
    } else if (e instanceof IOException) {
        return RpcException.NETWORK_EXCEPTION;
    }
    return super.getErrorCode(e);
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:11,代码来源:WebServiceProtocol.java

示例6: testInvokerDestoryAndReList

/**
 * 测试在调用重试过程中,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);
}
 
开发者ID:l1325169021,项目名称:github-test,代码行数:40,代码来源:FailoverClusterInvokerTest.java


注:本文中的com.alibaba.dubbo.rpc.RpcException.TIMEOUT_EXCEPTION属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。