BacklogDebugger
Camel supports a backlog debugger that is used for live debugging of messages that 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.
This requires to enabled JMX by including camel-management JAR in the classpath. |
Options
Option | Default | Description |
---|---|---|
|
| Whether to include the message body of file based messages. The overhead is that the file content has to be read from the file. |
|
| 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 Caching. |
|
| To limit the message body to a maximum size in the traced message. Use 0 or negative value to use unlimited size. |
|
| Whether to include the exchange properties in the traced message. |
|
| Whether to include the exchange variables in the traced message. |
|
| Whether the debugger is standby. If a debugger is in standby then the debugger is activated during startup and are ready to be enabled manually via JMX or calling the enableDebugger method. |
|
| Whether the debugger is enabled or not. |
|
| Whether currently in single step mode of a single Exchange. |
|
| In single step mode, then when the exchange is complete, then simulate a breakpoint as last, that allows to suspend and watch the exchange when complete (you can see message body as response, failed exception etc). |
Operations
Option | Type | Description |
---|---|---|
|
| To add a breakpoint at the given node. |
|
| To add a conditional breakpoint at the given node. The predicate is created from the language parameter. |
|
| To disable a breakpoint. |
|
| To disable the debugger |
|
| To dump the debugged messages from the give node id in XML format. |
|
| To dump the debugged messages from the give node id in XML format, optionally including the exchange properties. |
|
| To activate a breakpoint which has been disabled. |
|
| To enable the debugger |
|
| To evaluate an expression in any supported language (e.g. Simple, CSimple, etc.) and convert the result to String |
|
| To evaluate an expression in any supported language (e.g. Simple, CSimple, etc.) and return the result as a given result type |
|
| To get a set of all the nodes which has a breakpoint added. |
|
| Gets the total number of debugged messages. |
|
| To get a set of all the nodes which has suspended breakpoints (eg an Exchange at the breakpoint which is suspended). |
|
| To remove the breakpoint from the given node id. |
|
| To reset the debugger counter. |
|
| To resume all suspended breakpoints. |
|
| To resume a suspend breakpoint, which will then continue routing the Exchange. |
|
| To update/add the Exchange property on the suspended Exchange at the node. |
|
| Fallback Timeout in seconds (300 seconds as default) when block the message processing in Camel. A timeout used for waiting for a message to arrive at a given breakpoint. ` |
|
| To update the message body on the suspended Exchange at the node. |
|
| To update/add the message header on the suspended Exchange at the node. |
|
| To start single step mode from a suspended breakpoint at the given node. Then invoke |
|
| To step to next node when in single step mode. |
|
| Used for validating if a given predicate is valid or not. Returns null if valid, otherwise a string with the error message. |
|
| Returns message history at the given node Id in XML format |
See Also
See Debugger