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)

Reply via email to