in src/main/java/org/apache/dubbo/proxy/service/GenericInvoke.java [39:73]
public static Object genericCall(String interfaceName, String group,
String version, String methodName, String[] paramTypes,
Object[] paramObjs) {
if (init.compareAndSet(false, true)) {
init();
}
ReferenceConfig<GenericService> reference;
reference = addNewReference(interfaceName, group, version);
try {
GenericService svc = reference.get();
logger.info("dubbo generic invoke, service is {}, method is {} , paramTypes is {} , paramObjs is {} , svc" +
" is {}.", interfaceName
, methodName,paramTypes,paramObjs,svc);
return svc.$invoke(methodName, paramTypes, paramObjs);
} catch (Exception e) {
logger.error("Generic invoke failed",e);
if (e instanceof RpcException) {
RpcException e1 = (RpcException)e;
if (e1.isTimeout()) {
return ResultCode.TIMEOUT;
}
if (e1.isBiz()) {
return ResultCode.BIZERROR;
}
if (e1.isNetwork()) {
return ResultCode.NETWORKERROR;
}
if (e1.isSerialization()) {
return ResultCode.SERIALIZATION;
}
}
throw e;
}
}