Claus Ibsen created CAMEL-25057:
-----------------------------------
Summary: camel-console - Dev consoles: fix bugs found in a deep
review
Key: CAMEL-25057
URL: https://issues.apache.org/jira/browse/CAMEL-25057
Project: Camel
Issue Type: Bug
Components: camel-core
Reporter: Claus Ibsen
A deep review of the dev consoles in camel-console found the bugs below. Each
one was reproduced against 4.23.0-SNAPSHOT; four have a test that fails without
the fix.
# *The consumer console never shows the details of a scheduled poll consumer*
(scheduled, polling, delay, backoff ...). It tested whether the
ManagedCamelContext (not the consumer) was a ManagedSchedulePollConsumerMBean,
and the managed consumer is a JMX proxy of ManagedConsumerMBean only, so it is
never an instance of the scheduled poll interface either. It now asks for the
scheduled poll proxy when the route consumer is a ScheduledPollConsumer.
# *The processor console with limit returns one processor too many in JSON*
(the text output was right).
# *The trace console dumps with dump=false*: any value of the dump option
dumped the traced messages (and enabled was not applied).
# *The browse console with freshSize=true ignores limit* and dumps every
message of the endpoint.
# *The processor console fails with NullPointerException when camel-management
is not in use.* The other management-driven consoles check for it. (No test:
camel-console now has camel-management as a test dependency, so the case cannot
happen in its tests.)
camel-console gets camel-management as a test dependency, so the consoles
driven by the managed MBeans can be tested (their tests note they could not).
*Not changed (for a later look)*
* The JFR memory leak console applies its group limit when the recording is
parsed and not in query, and keeps the first groups seen rather than the
largest.
* The inflight console filter is an exact, case-sensitive match of the route
the exchange came from, while other consoles use wildcards.
* The processor detail console overwrites repeated child options (such as the
exceptions of doCatch) and drops attribute-only expressions (such as tokenize).
* The sql query console update-row action converts string values to numbers or
booleans ("007" is stored as 7).
* idleSince is documented as epoch time but is a duration.
_Claude Code on behalf of Claus Ibsen_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)