Composes two instances of Sentry in a new Sentry, with this sentries context applied first.
Composes two instances of Sentry in a new Sentry, with this sentries context applied first.
a new sentry t such that t(x) == s(this(x))
Run the given code block in the context of this sentry, and return its value.
Run the given code block in the context of this sentry, and return its value.
Composes two instances of Sentry in a new Sentry, with this sentries context applied last.
Composes two instances of Sentry in a new Sentry, with this sentries context applied last.
a new sentry t such that t(x) == this(s(x))
Go back to the initial state.
Go back to the initial state.
a string describing the resource that is protected, e.g. "mysql:server-b.com:3336". It is used in exceptions and visible through JMX.
a simple describing identifier that is unique per sentry chain, e.g. "rateLimit".
ResourceName
plus sentryType
uniquely name each sentry. The sentry registry
enforces this. The sentryType
is also used in JMX to uniquely name bean properties
for a resource.
null
for sentry wrappers, that must not be registered.
Sentry that collects metric of invocations. A new instance can be obtained through the nl.grons.sentries.SentrySupport mixin.
The following metrics are created:
- timer "all" for all invocations - meter "notAvailable" for invocations leading to a nl.grons.sentries.support.NotAvailableException, e.g. all invocations blocked by a sentry - meter "fail" for other failed invocations
Note that in other to make effective use of the "notAvailable" meter, this sentry must be the first sentry in the chain.
This sentry can not be used in the same sentry chain as the nl.grons.sentries.core.TimerSentry.