Toggle navigation
Home
net.jodah.failsafe.Functions.AsyncCallableWrapper to java.util.concurrent.Callable
No. of Instances - 3
No. of Commits - 1
No. of Projects - {'failsafe'}
Hierarchy/Composition: R_SUPER_T
Primitive Info: -
NameSpace: Internal -> Jdk
Mapping:
Cascading Type Change (Similar)
AsyncCallableWrapper<T>
to
Callable<T>
AsyncCallableWrapper<T>
to
Callable<T>
AsyncCallableWrapper<T>
to
Callable<T>
Update Anonymous class
{ @Override public synchronized T call() throws Exception { try { execution.preExecute(); T result=callable.call(execution); return result; } catch ( Throwable e) { execution.completeOrRetry(null,e); return null; } } }
to
{ @Override public synchronized T call(){ try { execution.preExecute(); return callable.call(execution); } catch ( Throwable e) { execution.completeOrRetry(null,e); return null; } } }
{ @Override public synchronized T call() throws Exception { try { execution.preExecute(); runnable.run(execution); } catch ( Throwable e) { execution.completeOrRetry(null,e); } return null; } }
to
{ @Override public synchronized T call(){ try { execution.preExecute(); runnable.run(execution); } catch ( Throwable e) { execution.completeOrRetry(null,e); } return null; } }
{ Semaphore asyncFutureLock=new Semaphore(1); @Override public T call() throws Exception { try { execution.preExecute(); asyncFutureLock.acquire(); callable.call(execution).whenComplete(new java.util.function.BiConsumer<T,Throwable>(){ @Override public void accept( T innerResult, Throwable failure){ try { if (failure != null) execution.completeOrRetry(innerResult,failure instanceof java.util.concurrent.CompletionException ? failure.getCause() : failure); } finally { asyncFutureLock.release(); } } } ); } catch ( Throwable e) { try { execution.completeOrRetry(null,e); } finally { asyncFutureLock.release(); } } return null; } }
to
{ Semaphore asyncFutureLock=new Semaphore(1); @Override public T call(){ try { execution.preExecute(); asyncFutureLock.acquire(); callable.call(execution).whenComplete((innerResult,failure) -> { try { if (failure != null) execution.completeOrRetry(innerResult,failure instanceof CompletionException ? failure.getCause() : failure); } finally { asyncFutureLock.release(); } } ); } catch ( Throwable e) { try { execution.completeOrRetry(null,e); } finally { asyncFutureLock.release(); } } return null; } }