/** * Obtains the value of a {@link Deferred}. * <p> * This is functionally equivalent to calling {@link Deferred#get()} on * {@link #ensured(Deferred)}. * * @param deferred the {@link Deferred} to ensure * * @return the value of the {@link Deferred} */ public static <T> T ensure(Deferred<T> deferred) { return ensured(deferred).get(); }
/** * Obtains the value of a {@link Deferred}. * <p> * This is functionally equivalent to calling {@link Deferred#get()} on * {@link #ensure(Deferred, long)}. * * @param deferred the {@link Deferred} to ensure * @param totalRetryDurationMS the maximum duration (in milliseconds) to retry * * @return an {@link Ensured} of the {@link Deferred} */ public static <T> T ensure(Deferred<T> deferred, long totalRetryDurationMS) { return ensured(deferred, totalRetryDurationMS).get(); }
/** * Obtains the value of a {@link Deferred}. * <p> * This is functionally equivalent to calling {@link Deferred#get()} on * {@link #ensure(Deferred, long, TimeUnit)}. * * @param deferred the {@link Deferred} to ensure * @param totalRetryDuration the maximum duration for retrying * @param totalRetryDurationUnits the {@link TimeUnit}s for the duration * * @return the value of the {@link Deferred} */ public static <T> T ensure(Deferred<T> deferred, long totalRetryDuration, TimeUnit totalRetryDurationUnits) { return ensured(deferred, totalRetryDuration, totalRetryDurationUnits).get(); }
/** * Obtains the value of a {@link Deferred}. * <p> * This is functionally equivalent to calling {@link Deferred#get()} on * {@link #ensure(Deferred, long, TimeUnit)}. * * @param deferred the {@link Deferred} to ensure * @param retryDelayDuration the time to wait between retrying * @param retryDelayDurationUnits the {@link TimeUnit}s for the retry delay duration * @param totalRetryDuration the maximum duration for retrying * @param totalRetryDurationUnits the {@link TimeUnit}s for the duration * * @return the value of the {@link Deferred} */ public static <T> T ensure(Deferred<T> deferred, long retryDelayDuration, TimeUnit retryDelayDurationUnits, long totalRetryDuration, TimeUnit totalRetryDurationUnits) { return ensured(deferred, retryDelayDuration, retryDelayDurationUnits, totalRetryDuration, totalRetryDurationUnits).get(); }
T deferred = m_deferred.get();
m_lastUsedMatchValue = m_deferred.get();
/** * {@inheritDoc} */ @Override public MBeanInfo getMBeanInfo(ObjectName objectName) { return ensured(getDeferredMBeanInfo(objectName), getDefaultTimeout(), getDefaultTimeoutUnits()).get(); }
/** * {@inheritDoc} */ @Override public <T> T getMBeanProxy(ObjectName objectName, Class<T> proxyClass) { return ensured(getDeferredMBeanProxy(objectName, proxyClass), getDefaultTimeout(), getDefaultTimeoutUnits()).get(); }
/** * {@inheritDoc} */ @Override public <T> T getMBeanAttribute(ObjectName objectName, String attributeName, Class<T> attributeClass) { return ensured(getDeferredMBeanAttribute(objectName, attributeName, attributeClass), getDefaultTimeout(), getDefaultTimeoutUnits()).get(); }
Object object = m_deferred.get();
@Override public Boolean get() throws UnresolvableInstanceException, InstanceUnavailableException { try { lastMatchedValue = deferred.get(); if (predicate.evaluate(lastMatchedValue)) { return true; } else { throw new InstanceUnavailableException(this); } } catch (InstanceUnavailableException e) { throw e; } catch (UnresolvableInstanceException e) { throw e; } catch (Exception e) { throw new UnresolvableInstanceException(this, e); } }
T object = m_deferred.get();
/** * {@inheritDoc} */ @Override public Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query) { try { return ensured(getDeferredJMXConnector(), getDefaultTimeout(), getDefaultTimeoutUnits()).get().getMBeanServerConnection().queryMBeans(name, query); } catch (IOException e) { throw new UnresolvableInstanceException(getDeferredJMXConnector(), e); } }
JMXConnector connector = m_deferredJMXConnector.get();
JMXConnector connector = m_deferredJMXConnector.get();
JMXConnector connector = m_deferredJMXConnector.get();
return m_deferred.get();