Package org.apache.camel.spi
Interface InflightRepository
-
- All Superinterfaces:
AutoCloseable
,Service
,StaticService
public interface InflightRepository extends StaticService
A repository which tracks in flightExchange
s.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
InflightRepository.InflightExchange
Information about the inflight exchange.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(Exchange exchange)
Adds the exchange to the inflight registry to the total countervoid
add(Exchange exchange, String routeId)
Adds the exchange to the inflight registry associated to the given routevoid
addRoute(String routeId)
Adds the route from the in flight registry.Collection<InflightRepository.InflightExchange>
browse()
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight.Collection<InflightRepository.InflightExchange>
browse(int limit, boolean sortByLongestDuration)
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight.Collection<InflightRepository.InflightExchange>
browse(String fromRouteId)
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight that started from the given route.Collection<InflightRepository.InflightExchange>
browse(String fromRouteId, int limit, boolean sortByLongestDuration)
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight that started from the given route.boolean
isInflightBrowseEnabled()
Whether the inflight repository should allow browsing each inflight exchange.InflightRepository.InflightExchange
oldest(String fromRouteId)
Gets the oldestInflightRepository.InflightExchange
that are currently inflight that started from the given route.void
remove(Exchange exchange)
Removes the exchange from the inflight registry to the total countervoid
remove(Exchange exchange, String routeId)
Removes the exchange from the inflight registry removing association to the given routevoid
removeRoute(String routeId)
Removes the route from the in flight registry.void
setInflightBrowseEnabled(boolean inflightBrowseEnabled)
Whether the inflight repository should allow browsing each inflight exchange.int
size()
Current size of inflight exchanges.int
size(String routeId)
Current size of inflight exchanges which are from the given route.
-
-
-
Method Detail
-
add
void add(Exchange exchange)
Adds the exchange to the inflight registry to the total counter- Parameters:
exchange
- the exchange
-
remove
void remove(Exchange exchange)
Removes the exchange from the inflight registry to the total counter- Parameters:
exchange
- the exchange
-
add
void add(Exchange exchange, String routeId)
Adds the exchange to the inflight registry associated to the given route- Parameters:
exchange
- the exchangerouteId
- the id of the route
-
remove
void remove(Exchange exchange, String routeId)
Removes the exchange from the inflight registry removing association to the given route- Parameters:
exchange
- the exchangerouteId
- the id of the route
-
size
int size()
Current size of inflight exchanges. Will return 0 if there are no inflight exchanges.- Returns:
- number of exchanges currently in flight.
-
addRoute
void addRoute(String routeId)
Adds the route from the in flight registry. Is used for initializing up resources- Parameters:
routeId
- the id of the route
-
removeRoute
void removeRoute(String routeId)
Removes the route from the in flight registry. Is used for cleaning up resources to avoid leaking.- Parameters:
routeId
- the id of the route
-
size
int size(String routeId)
Current size of inflight exchanges which are from the given route. Will return 0 if there are no inflight exchanges.- Parameters:
routeId
- the id of the route- Returns:
- number of exchanges currently in flight.
-
isInflightBrowseEnabled
boolean isInflightBrowseEnabled()
Whether the inflight repository should allow browsing each inflight exchange. This is by default disabled as there is a very slight performance overhead when enabled.
-
setInflightBrowseEnabled
void setInflightBrowseEnabled(boolean inflightBrowseEnabled)
Whether the inflight repository should allow browsing each inflight exchange. This is by default disabled as there is a very slight performance overhead when enabled.- Parameters:
inflightBrowseEnabled
- whether browsing is enabled
-
browse
Collection<InflightRepository.InflightExchange> browse()
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight.
-
browse
Collection<InflightRepository.InflightExchange> browse(String fromRouteId)
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight that started from the given route.- Parameters:
fromRouteId
- the route id, or null for all routes.
-
browse
Collection<InflightRepository.InflightExchange> browse(int limit, boolean sortByLongestDuration)
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight.- Parameters:
limit
- maximum number of entries to returnsortByLongestDuration
- to sort by the longest duration. Set to true to include the exchanges that has been inflight the longest time, set to false to sort by exchange id
-
browse
Collection<InflightRepository.InflightExchange> browse(String fromRouteId, int limit, boolean sortByLongestDuration)
A read-only browser of theInflightRepository.InflightExchange
s that are currently inflight that started from the given route.- Parameters:
fromRouteId
- the route id, or null for all routes.limit
- maximum number of entries to returnsortByLongestDuration
- to sort by the longest duration. Set to true to include the exchanges that has been inflight the longest time, set to false to sort by exchange id
-
oldest
InflightRepository.InflightExchange oldest(String fromRouteId)
Gets the oldestInflightRepository.InflightExchange
that are currently inflight that started from the given route.- Parameters:
fromRouteId
- the route id, or null for all routes.- Returns:
- the oldest, or null if none inflight
-
-