public <T> Object getServantProxy(Class<T> clazz, String objName, String setDivision, ServantProxyConfig servantProxyConfig, LoadBalance loadBalance, ProtocolInvoker<T> protocolInvoker) { String key = setDivision != null ? clazz.getSimpleName() + objName + setDivision : clazz.getSimpleName() + objName; Object proxy = cache.get(key); if (proxy == null) { lock.lock(); try { proxy = cache.get(key); if (proxy == null) { ObjectProxy<T> objectProxy = communicator.getObjectProxyFactory().getObjectProxy(clazz, objName, setDivision, servantProxyConfig, loadBalance, protocolInvoker); cache.putIfAbsent(key, createProxy(clazz, objectProxy)); proxy = cache.get(key); } } finally { lock.unlock(); } } return proxy; }
public <T> Object getServantProxy(Class<T> clazz, String objName, String setDivision, ServantProxyConfig servantProxyConfig, LoadBalance loadBalance, ProtocolInvoker<T> protocolInvoker) { String key = setDivision != null ? clazz.getSimpleName() + objName + setDivision : clazz.getSimpleName() + objName; Object proxy = cache.get(key); if (proxy == null) { lock.lock(); try { proxy = cache.get(key); if (proxy == null) { ObjectProxy<T> objectProxy = communicator.getObjectProxyFactory().getObjectProxy(clazz, objName, setDivision, servantProxyConfig, loadBalance, protocolInvoker); cache.putIfAbsent(key, createProxy(clazz, objectProxy)); proxy = cache.get(key); } } finally { lock.unlock(); } } return proxy; }
public <T> Object getServantProxy(Class<T> clazz, String objName, String setDivision, ServantProxyConfig servantProxyConfig, LoadBalance loadBalance, ProtocolInvoker<T> protocolInvoker) { String key = setDivision != null ? clazz.getSimpleName() + objName + setDivision : clazz.getSimpleName() + objName; Object proxy = cache.get(key); if (proxy == null) { lock.lock(); try { proxy = cache.get(key); if (proxy == null) { ObjectProxy<T> objectProxy = communicator.getObjectProxyFactory().getObjectProxy(clazz, objName, setDivision, servantProxyConfig, loadBalance, protocolInvoker); cache.putIfAbsent(key, createProxy(clazz, objectProxy)); proxy = cache.get(key); } } finally { lock.unlock(); } } return proxy; }