...
Camel supports a backlog debugger that is used for live debugging of message they are routed in Camel.
The backlog debugger has additional functionality for easier debugging aimed at tooling, than the Debugger. The backlog debugger is exposed in JMX in the tracer node with the name BacklogDebugger
. The JMX API is defined in the org.apache.camel.api.management.mbean.ManagedBacklogDebuggerMBean
interface.
You can enable or disable the BacklogDebugger dynamically, by calling enableDebugger
or disableDebugger
methods.
Options
Div |
---|
class | confluenceTableSmall |
---|
|
Option | Default | Description |
---|
enabled
| false
| Whether the debugger is enabled or not. | singleStepMode bodyIncludeFiles | false true | Whether currently in single step mode of a single Exchange. | bodyMaxChars | 128kb | To limit the message body to a maximum size in the traced message. Use 0 or negative value to use unlimited sizeto include the message body of file based messages. The overhead is that the file content has to be read from the file. | bodyIncludeStreams
| false
| Whether to include the message body of stream based messages. If enabled then beware the stream may not be re-readable later. See more about Stream Cachingcaching. | bodyIncludeFiles bodyMaxChars | 128kb
| To limit the message body to a maximum size in the traced message. Use 0 or negative value to use unlimited size. | singleStepMode
| false
| Whether currently in single step mode of a single Exchange | true | Whether to include the message body of file based messages. The overhead is that the file content has to be read from the file. |
|
Operations
Div |
---|
class | confluenceTableSmall |
---|
|
Option | Type | Description |
---|
enableDebugger addBreakpoint(nodeId) | void
| To enable the debugger add a breakpoint at the given node. | addConditionalBreakpoint(nodeId, language, predicate) disableDebugger
| void
| To disable the debugger | getDebuggerCounter | long | Gets the total number of debugged messages. | add a conditional breakpoint at the given node. The predicate is created from the language parameter. | disableBreakpoint(nodeId)
| void
| To disable a breakpoint temporary. | disableDebugger resetDebuggerCounter
| void
| To reset disable the debugger counter. | dumpTracedMessagesAsXml(nodeId)
| String
| To dump the debugged messages from the give node id in XML format. | addBreakpointenableBreakpoint(nodeId)
| void
| To add active a breakpoint at the given node. which has been temporary disabled. | enableDebugger
| void
| To enable the debugger. | getBreakpoints
| Set<String>
| To get a set of all the nodes which has a breakpoint added. | getDebuggerCounter
| long
| Gets the total number of debugged messages. | getSuspendedBreakpointNodeIds
| Set<String>
| To get a set of all the nodes which has suspended breakpoints e.g., an Exchange at the breakpoint which is suspended. | resetDebuggerCounter
| void
| To reset the debugger counter | addConditionalBreakpoint(nodeId, language, predicate) | void | To add a conditional breakpoint at the given node. The predicate is created from the language parameter. | removeBreakpoint(nodeId)
| void
| To remove the breakpoint from the given node id . | resumeBreakpoint(nodeId)
| void
| To resume a suspend breakpoint, which will then continue routing the Exchange. | resumeAll
| void
| To resume all suspended breakpoints. | getSuspendedBreakpointNodeIds step | Set<String> | void
| To step to next node when in single step mode To get a set of all the nodes which has suspended breakpoints (eg an Exchange at the breakpoint which is suspended). | stepBreakpoint(nodeId)
| void
| To start single step mode from a suspended breakpoint at the given node. Then invoke step to step to next node in the route. | step | void | To step to next node when in single step mode. | getBreakpoints | Set<String> | To get a set of all the nodes which has a breakpoint added. | enableBreakpoint(nodeId) | void | To active a breakpoint which has been temporary disabled. | disableBreakpoint(nodeId) | void | To disable a breakpoint temporary. | setMessageBodyOnBreakpoint(nodeId,body)
| void
| To update the message body on the suspended Exchange at the node. | setMessageHeaderOnBreakpoint(nodeId,headerName,value)
| void
| To update/add the message header on the suspended Exchange at the node. |
|
...