@Override public Operation get() { List<ProxyInfo> proxyInfos = new ArrayList<ProxyInfo>(parameters.proxies.size()); for (Map.Entry<String, String> proxy : parameters.proxies) { proxyInfos.add(new ProxyInfo(proxy.getValue(), proxy.getKey())); } return new PostJoinProxyOperation(proxyInfos); }
private void logProxyCreationFailure(ProxyInfo proxy, Throwable t) { getLogger().severe("Cannot create proxy [" + proxy.getServiceName() + ":" + proxy.getObjectName() + "]!", t); }
@Override public void run() throws Exception { if (proxies == null || proxies.size() <= 0) { return; } NodeEngine nodeEngine = getNodeEngine(); ProxyServiceImpl proxyService = getService(); ExecutionService executionService = nodeEngine.getExecutionService(); for (final ProxyInfo proxy : proxies) { final ProxyRegistry registry = proxyService.getOrCreateRegistry(proxy.getServiceName()); try { executionService.execute(ExecutionService.SYSTEM_EXECUTOR, new CreateProxyTask(registry, proxy)); } catch (Throwable t) { logProxyCreationFailure(proxy, t); } } }
@Override public void run() { try { registry.createProxy(proxyInfo.getObjectName(), false, true); } catch (CacheNotExistsException e) { // this can happen when a cache destroy event is received // after the cache config is replicated during join (pre-join) // but before the cache proxy is created (post-join) getLogger().fine("Could not create Cache[" + proxyInfo.getObjectName() + "]. It is already destroyed.", e); } catch (ReplicatedMapCantBeCreatedOnLiteMemberException e) { // this happens when there is a lite member in the cluster // and a data member creates a ReplicatedMap proxy // (this is totally expected and doesn't need logging) ignore(e); } catch (Exception e) { logProxyCreationFailure(proxyInfo, e); } } }
@Override public void run() throws Exception { if (proxies == null || proxies.size() <= 0) { return; } NodeEngine nodeEngine = getNodeEngine(); ProxyServiceImpl proxyService = getService(); ExecutionService executionService = nodeEngine.getExecutionService(); for (final ProxyInfo proxy : proxies) { final ProxyRegistry registry = proxyService.getOrCreateRegistry(proxy.getServiceName()); try { executionService.execute(ExecutionService.SYSTEM_EXECUTOR, new CreateProxyTask(registry, proxy)); } catch (Throwable t) { logProxyCreationFailure(proxy, t); } } }
@Override public void run() { try { registry.createProxy(proxyInfo.getObjectName(), false, true); } catch (CacheNotExistsException e) { // this can happen when a cache destroy event is received // after the cache config is replicated during join (pre-join) // but before the cache proxy is created (post-join) getLogger().fine("Could not create Cache[" + proxyInfo.getObjectName() + "]. It is already destroyed.", e); } catch (ReplicatedMapCantBeCreatedOnLiteMemberException e) { // this happens when there is a lite member in the cluster // and a data member creates a ReplicatedMap proxy // (this is totally expected and doesn't need logging) ignore(e); } catch (Exception e) { logProxyCreationFailure(proxyInfo, e); } } }
private void logProxyCreationFailure(ProxyInfo proxy, Throwable t) { getLogger().severe("Cannot create proxy [" + proxy.getServiceName() + ":" + proxy.getObjectName() + "]!", t); }
@Override public Operation get() { List<ProxyInfo> proxyInfos = new ArrayList<ProxyInfo>(parameters.proxies.size()); for (Map.Entry<String, String> proxy : parameters.proxies) { proxyInfos.add(new ProxyInfo(proxy.getValue(), proxy.getKey())); } return new PostJoinProxyOperation(proxyInfos); }
@Override protected void writeInternal(ObjectDataOutput out) throws IOException { super.writeInternal(out); int len = proxies != null ? proxies.size() : 0; out.writeInt(len); if (len > 0) { for (ProxyInfo proxy : proxies) { out.writeUTF(proxy.getServiceName()); out.writeObject(proxy.getObjectName()); // writing as object for backward-compatibility } } }
/** * Gets the ProxyInfo of all fully initialized proxies in this registry. * The result is written into 'result'. * * @param result The ProxyInfo of all proxies in this registry. */ public void getProxyInfos(Collection<ProxyInfo> result) { for (Map.Entry<String, DistributedObjectFuture> entry : proxies.entrySet()) { DistributedObjectFuture future = entry.getValue(); if (future.isSetAndInitialized()) { String proxyName = entry.getKey(); result.add(new ProxyInfo(serviceName, proxyName)); } } }
@Override protected void writeInternal(ObjectDataOutput out) throws IOException { super.writeInternal(out); int len = proxies != null ? proxies.size() : 0; out.writeInt(len); if (len > 0) { for (ProxyInfo proxy : proxies) { out.writeUTF(proxy.getServiceName()); out.writeObject(proxy.getObjectName()); // writing as object for backward-compatibility } } }
/** * Gets the ProxyInfo of all fully initialized proxies in this registry. * The result is written into 'result'. * * @param result The ProxyInfo of all proxies in this registry. */ public void getProxyInfos(Collection<ProxyInfo> result) { for (Map.Entry<String, DistributedObjectFuture> entry : proxies.entrySet()) { DistributedObjectFuture future = entry.getValue(); if (future.isSetAndInitialized()) { String proxyName = entry.getKey(); result.add(new ProxyInfo(serviceName, proxyName)); } } }
@Override protected void readInternal(ObjectDataInput in) throws IOException { super.readInternal(in); int len = in.readInt(); if (len > 0) { proxies = new ArrayList<ProxyInfo>(len); for (int i = 0; i < len; i++) { ProxyInfo proxy = new ProxyInfo(in.readUTF(), (String) in.readObject()); proxies.add(proxy); } } }
@Override protected void readInternal(ObjectDataInput in) throws IOException { super.readInternal(in); int len = in.readInt(); if (len > 0) { proxies = new ArrayList<ProxyInfo>(len); for (int i = 0; i < len; i++) { ProxyInfo proxy = new ProxyInfo(in.readUTF(), (String) in.readObject()); proxies.add(proxy); } } }