public abstract class CachingErpCommand<T> extends CachingCommand<T> implements WithErpConfigContext
CachingCommand
to enable resilient execution and caching of results of S/4HANA queries.
Introduces a member for the ErpConfigContext
to be used inside the command.Modifier and Type | Class and Description |
---|---|
protected static class |
com.netflix.hystrix.AbstractCommand.CommandState |
protected static class |
com.netflix.hystrix.AbstractCommand.ThreadState |
protected static class |
com.netflix.hystrix.AbstractCommand.TimedOutStatus |
Modifier and Type | Field and Description |
---|---|
protected com.netflix.hystrix.HystrixCircuitBreaker |
circuitBreaker |
protected static ConcurrentHashMap<com.netflix.hystrix.HystrixCommandKey,Boolean> |
commandContainsFallback |
protected com.netflix.hystrix.HystrixCommandGroupKey |
commandGroup |
protected com.netflix.hystrix.HystrixCommandKey |
commandKey |
protected long |
commandStartTimestamp |
protected AtomicReference<com.netflix.hystrix.AbstractCommand.CommandState> |
commandState |
protected com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy |
concurrencyStrategy |
protected com.netflix.hystrix.HystrixRequestLog |
currentRequestLog |
protected rx.functions.Action0 |
endCurrentThreadExecutingCommand |
protected com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier |
eventNotifier |
protected com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook |
executionHook |
protected com.netflix.hystrix.ExecutionResult |
executionResult |
protected com.netflix.hystrix.ExecutionResult |
executionResultAtTimeOfCancellation |
protected com.netflix.hystrix.AbstractCommand.TryableSemaphore |
executionSemaphoreOverride |
protected static ConcurrentHashMap<String,com.netflix.hystrix.AbstractCommand.TryableSemaphore> |
executionSemaphorePerCircuit |
protected com.netflix.hystrix.AbstractCommand.TryableSemaphore |
fallbackSemaphoreOverride |
protected static ConcurrentHashMap<String,com.netflix.hystrix.AbstractCommand.TryableSemaphore> |
fallbackSemaphorePerCircuit |
protected AtomicReference<com.netflix.hystrix.AbstractCommand.TimedOutStatus> |
isCommandTimedOut |
protected boolean |
isResponseFromCache |
protected com.netflix.hystrix.HystrixCommandMetrics |
metrics |
protected com.netflix.hystrix.HystrixCommandProperties |
properties |
protected com.netflix.hystrix.HystrixRequestCache |
requestCache |
protected com.netflix.hystrix.HystrixThreadPool |
threadPool |
protected com.netflix.hystrix.HystrixThreadPoolKey |
threadPoolKey |
protected AtomicReference<com.netflix.hystrix.AbstractCommand.ThreadState> |
threadState |
protected AtomicReference<Reference<com.netflix.hystrix.util.HystrixTimer.TimerListener>> |
timeoutTimer |
Modifier | Constructor and Description |
---|---|
protected |
CachingErpCommand(Class<?> commandType) |
protected |
CachingErpCommand(Class<?> commandType,
ErpConfigContext erpConfigContext) |
protected |
CachingErpCommand(com.netflix.hystrix.HystrixCommand.Setter setter) |
protected |
CachingErpCommand(com.netflix.hystrix.HystrixCommand.Setter setter,
ErpConfigContext configContext) |
Modifier and Type | Method and Description |
---|---|
protected Throwable |
decomposeException(Exception arg0) |
protected CacheKey |
getCommandCacheKey()
Returns the
CacheKey that is used by this command. |
ErpConfigContext |
getConfigContext()
Returns the
ErpConfigContext , including properties, such as destination name, SAP client, and locale. |
protected Exception |
getExceptionFromThrowable(Throwable arg0) |
protected com.netflix.hystrix.AbstractCommand.TryableSemaphore |
getExecutionSemaphore() |
protected com.netflix.hystrix.AbstractCommand.TryableSemaphore |
getFallbackSemaphore() |
protected String |
getLogMessagePrefix() |
protected void |
handleThreadEnd(com.netflix.hystrix.AbstractCommand<R> arg0) |
protected boolean |
isRequestCachingEnabled() |
protected boolean |
shouldNotBeWrapped(Throwable arg0) |
protected boolean |
shouldOutputOnNextEvents() |
getCache, getCacheKey, run, runCacheable, useCache
protected final com.netflix.hystrix.HystrixCircuitBreaker circuitBreaker
protected final com.netflix.hystrix.HystrixThreadPool threadPool
protected final com.netflix.hystrix.HystrixThreadPoolKey threadPoolKey
protected final com.netflix.hystrix.HystrixCommandProperties properties
protected final com.netflix.hystrix.HystrixCommandMetrics metrics
protected final com.netflix.hystrix.HystrixCommandKey commandKey
protected final com.netflix.hystrix.HystrixCommandGroupKey commandGroup
protected final com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier eventNotifier
protected final com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy concurrencyStrategy
protected final com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook executionHook
protected final com.netflix.hystrix.AbstractCommand.TryableSemaphore fallbackSemaphoreOverride
protected static final ConcurrentHashMap<String,com.netflix.hystrix.AbstractCommand.TryableSemaphore> fallbackSemaphorePerCircuit
protected final com.netflix.hystrix.AbstractCommand.TryableSemaphore executionSemaphoreOverride
protected static final ConcurrentHashMap<String,com.netflix.hystrix.AbstractCommand.TryableSemaphore> executionSemaphorePerCircuit
protected final AtomicReference<Reference<com.netflix.hystrix.util.HystrixTimer.TimerListener>> timeoutTimer
protected AtomicReference<com.netflix.hystrix.AbstractCommand.CommandState> commandState
protected AtomicReference<com.netflix.hystrix.AbstractCommand.ThreadState> threadState
protected volatile com.netflix.hystrix.ExecutionResult executionResult
protected volatile boolean isResponseFromCache
protected volatile com.netflix.hystrix.ExecutionResult executionResultAtTimeOfCancellation
protected volatile long commandStartTimestamp
protected final AtomicReference<com.netflix.hystrix.AbstractCommand.TimedOutStatus> isCommandTimedOut
protected volatile rx.functions.Action0 endCurrentThreadExecutingCommand
protected final com.netflix.hystrix.HystrixRequestCache requestCache
protected final com.netflix.hystrix.HystrixRequestLog currentRequestLog
protected static ConcurrentHashMap<com.netflix.hystrix.HystrixCommandKey,Boolean> commandContainsFallback
protected CachingErpCommand(@Nonnull com.netflix.hystrix.HystrixCommand.Setter setter)
protected CachingErpCommand(@Nonnull com.netflix.hystrix.HystrixCommand.Setter setter, @Nonnull ErpConfigContext configContext)
protected CachingErpCommand(@Nonnull Class<?> commandType, @Nonnull ErpConfigContext erpConfigContext)
@Nonnull protected CacheKey getCommandCacheKey()
CacheKey
that is used by this command. By default, this is a
CacheKey.ofTenantAndUserIsolation()
appended with the full class name of this command.getCommandCacheKey
in class CachingCommand<T>
CacheKey
for this command. If null
is returned, the cache is not used.@Nonnull public ErpConfigContext getConfigContext()
ErpConfigContext
, including properties, such as destination name, SAP client, and locale.getConfigContext
in interface WithErpConfigContext
protected boolean shouldNotBeWrapped(Throwable arg0)
protected void handleThreadEnd(com.netflix.hystrix.AbstractCommand<R> arg0)
protected boolean shouldOutputOnNextEvents()
protected com.netflix.hystrix.AbstractCommand.TryableSemaphore getFallbackSemaphore()
protected com.netflix.hystrix.AbstractCommand.TryableSemaphore getExecutionSemaphore()
protected boolean isRequestCachingEnabled()
protected String getLogMessagePrefix()
Copyright © 2018 SAP SE. All rights reserved.