/** * Retrieves a DistributedObject proxy or creates it if it is not available. * DistributedObject will be initialized by calling {@link InitializingObject#initialize()}, * if it implements {@link InitializingObject}. * * @param name The name of the DistributedObject proxy object to retrieve or create. * @param publishEvent true if a DistributedObjectEvent should be fired. * @return The DistributedObject instance. */ public DistributedObject getOrCreateProxy(String name, boolean publishEvent) { DistributedObjectFuture proxyFuture = getOrCreateProxyFuture(name, publishEvent, true); return proxyFuture.get(); }
/** * Retrieves a DistributedObject proxy or creates it if it is not available. * DistributedObject will be initialized by calling {@link InitializingObject#initialize()}, * if it implements {@link InitializingObject}. * * @param name The name of the DistributedObject proxy object to retrieve or create. * @param publishEvent true if a DistributedObjectEvent should be fired. * @return The DistributedObject instance. */ public DistributedObject getOrCreateProxy(String name, boolean publishEvent) { DistributedObjectFuture proxyFuture = getOrCreateProxyFuture(name, publishEvent, true); return proxyFuture.get(); }
/** * Retrieves a DistributedObjectFuture or creates it if it is not available. * If {@code initialize} is false and DistributedObject implements {@link InitializingObject}, * {@link InitializingObject#initialize()} will be called before {@link DistributedObjectFuture#get()} returns. * * @param name The name of the DistributedObject proxy object to retrieve or create. * @param publishEvent true if a DistributedObjectEvent should be fired. * @param initialize true if the DistributedObject proxy object should be initialized. */ public DistributedObjectFuture getOrCreateProxyFuture(String name, boolean publishEvent, boolean initialize) { DistributedObjectFuture proxyFuture = proxies.get(name); if (proxyFuture == null) { if (!proxyService.nodeEngine.isRunning()) { throw new HazelcastInstanceNotActiveException(); } proxyFuture = createProxy(name, publishEvent, initialize); if (proxyFuture == null) { return getOrCreateProxyFuture(name, publishEvent, initialize); } } return proxyFuture; }
/** * Retrieves a DistributedObjectFuture or creates it if it is not available. * If {@code initialize} is false and DistributedObject implements {@link InitializingObject}, * {@link InitializingObject#initialize()} will be called before {@link DistributedObjectFuture#get()} returns. * * @param name The name of the DistributedObject proxy object to retrieve or create. * @param publishEvent true if a DistributedObjectEvent should be fired. * @param initialize true if the DistributedObject proxy object should be initialized. */ public DistributedObjectFuture getOrCreateProxyFuture(String name, boolean publishEvent, boolean initialize) { DistributedObjectFuture proxyFuture = proxies.get(name); if (proxyFuture == null) { if (!proxyService.nodeEngine.isRunning()) { throw new HazelcastInstanceNotActiveException(); } proxyFuture = createProxy(name, publishEvent, initialize); if (proxyFuture == null) { return getOrCreateProxyFuture(name, publishEvent, initialize); } } return proxyFuture; }