Claus Ibsen created CAMEL-24975:
-----------------------------------
Summary: camel-core: the inflight, blocked and shutdown dumps say
where the node is in the source
Key: CAMEL-24975
URL: https://issues.apache.org/jira/browse/CAMEL-24975
Project: Camel
Issue Type: Improvement
Components: camel-core
Reporter: Claus Ibsen
Follow-up to CAMEL-24972 and CAMEL-24975: the remaining places in camel-core
that print a node id without saying where that node is in the source.
{{ExchangeExtension.getHistoryNodeSource()}} is documented as "the history node
source:line-number where the node is located in the source code", is set by
{{CamelInternalProcessor.NodeHistoryAdvice}} for every node, and is read in
only one place today ({{MessageHelper}}). The exchange is in hand at each of
the sites below, so none of them needs an API change:
* {{DefaultShutdownStrategy}} - logs the inflight exchanges with {{nodeId=...}}
when routes do not shut down in time. The location says which line is holding
the shutdown up.
* {{InflightConsole}} - the inflight dev console rows carry exchangeId,
fromRouteId, atRouteId and nodeId.
* {{BlockedConsole}} - the blocked exchanges rows carry exchangeId, routeId and
nodeId.
* {{DefaultAsyncProcessorAwaitManager}} - the {{NodeId:}} line of the
blocked-thread dump.
Each degrades to today's output when message history or source location is off.
h3. Not in this issue
The JMX side ({{ManagedInflightRepository}},
{{ManagedAsyncProcessorAwaitManager}}) reads through
{{InflightRepository.InflightExchange}}, which exposes {{getNodeId()}} but no
{{getNodeSource()}}. That needs a default method on the SPI interface and a new
column in the tabular data, so it belongs in its own issue if it is wanted.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)