GenericInvoke.registry = registry;
}
- public static void init() {
+ private static void init() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress(registry.getUrl().getProtocol() + "://" + registry.getUrl().getAddress());
+ registryConfig.setGroup(registry.getUrl().getParameter(org.apache.dubbo.common.constants.CommonConstants.GROUP_KEY));
applicationConfig = new ApplicationConfig();
applicationConfig.setName("dubbo-proxy");
applicationConfig.setRegistry(registryConfig);
}
- private static ConcurrentHashMap<String, ReferenceConfig> cachedConfig = new ConcurrentHashMap<>();
+ private static ConcurrentHashMap<String, ReferenceConfig<GenericService>> cachedConfig = new ConcurrentHashMap<>();
private static Logger logger = LoggerFactory.getLogger(GenericInvoke.class);
public static Object genericCall(String interfaceName, String group,
if (init.compareAndSet(false, true)) {
init();
}
- ReferenceConfig<GenericService> reference = null;
+ ReferenceConfig<GenericService> reference;
reference = addNewReference(interfaceName, group, version);
try {
GenericService svc = reference.get();
- logger.info("hsf generic invoke, service is {}, method is {} , paramTypes is {} , paramObjs is {} , svc is {}.", interfaceName
+ logger.info("dubbo generic invoke, service is {}, method is {} , paramTypes is {} , paramObjs is {} , svc" +
+ " is {}.", interfaceName
, methodName,paramTypes,paramObjs,svc);
- Object result = svc.$invoke(methodName, paramTypes, paramObjs);
- return result;
+ return svc.$invoke(methodName, paramTypes, paramObjs);
} catch (Exception e) {
logger.error("Generic invoke failed",e);
if (e instanceof RpcException) {
}
}
- private static ReferenceConfig addNewReference(String interfaceName,
- String group, String version) {
- ReferenceConfig reference;
+ private static ReferenceConfig<GenericService> addNewReference(String interfaceName,
+ String group, String version) {
+ ReferenceConfig<GenericService> reference;
String cachedKey = interfaceName + group + version;
reference = cachedConfig.get(cachedKey);
if (reference == null) {
return reference;
}
- private static ReferenceConfig initReference(String interfaceName, String group,
- String version) {
+ private static ReferenceConfig<GenericService> initReference(String interfaceName, String group,
+ String version) {
ReferenceConfig<GenericService> reference = new ReferenceConfig<>();
reference.setGeneric(true);
reference.setApplication(applicationConfig);