| <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Debugging Camel K Integrations :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-k/2.10.x/troubleshooting/debugging.html"> <meta name="generator" content="Antora 3.1.7"> <link rel="stylesheet" href="../../../_/css/site-5c323c41e9.css"> <meta name="application-name" content="Apache Camel"> <meta property="og:title" content="Debugging Camel K Integrations"> <meta property="og:site_name" content="Apache Camel"> <meta property="og:url" content="https://camel.apache.org"> <meta property="og:description" content="Apache Camel is an open source integration framework with 350+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0."> <meta property="og:type" content="website"> <meta property="og:image" content="https://camel.apache.org/_/img/logo-d-a567cee6fa.svg"> <link rel="manifest" href="../../../site.webmanifest"> <link rel="apple-touch-icon-precomposed" sizes="57x57" href="../../../apple-touch-icon-57x57.png"> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../../apple-touch-icon-114x114.png"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../../apple-touch-icon-72x72.png"> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../../apple-touch-icon-144x144.png"> <link rel="apple-touch-icon-precomposed" sizes="60x60" href="../../../apple-touch-icon-60x60.png"> <link rel="apple-touch-icon-precomposed" sizes="120x120" href="../../../apple-touch-icon-120x120.png"> <link rel="apple-touch-icon-precomposed" sizes="76x76" href="../../../apple-touch-icon-76x76.png"> <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../../apple-touch-icon-152x152.png"> <link rel="icon" type="image/png" href="../../../favicon-196x196.png" sizes="196x196"> <link rel="icon" type="image/png" href="../../../favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="../../../favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="../../../favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="../../../favicon-128.png" sizes="128x128"> </head> <body class="article"> <header class="header"> <nav class="navbar" aria-label="Main menu"> <div class="navbar-brand"> <a class="nav-logo" href="../../.."></a> <div id="topbar-nav" class="navbar-menu"> <div class="navbar-end"> <a class="navbar-item-section navbar-item navbar-topics" href="../../../blog/"> <img alt="Blog" src="/_/img/blog-4c7fa4cb60.svg"> Blog </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../docs/"> <img alt="Documentation" src="/_/img/documentation-abb1b7f8b1.svg"> Documentation </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../community/"> <img alt="Community" src="/_/img/community-2ec8a3dc8b.svg"> Community </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../tooling/"> <img alt="Tooling" src="/_/img/tooling-f5e235c238.svg"> Tooling </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../download/"> <img alt="Download" src="/_/img/download-63cdd75074.svg"> Download </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../security/"> <img alt="Security" src="/_/img/security-06abe157b3.svg"> Security </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../trust/"> <img alt="Trust" src="/_/img/security-06abe157b3.svg"> Trust </a> </div> </div> <div class="navbar-fill"></div> <div class="break-row"></div> <div class="navbar-search results-hidden"> <input id="search" class="search" placeholder="Search" autocomplete="off" maxlength="200"> <img src="../../../_/img/cancel-1ed239489b.svg" alt="Clear" id="search-cancel"> <div id="search_results"></div> </div> <div class="navbar-tools"> <a rel="noopener noreferrer nofollow" href="https://github.com/apache/camel/" title="Collaborate on GitHub"><svg focusable="false" class="brand-icon"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#github"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://camel.zulipchat.com" title="Chat on Zulip"><svg focusable="false" class="brand-icon"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#zulip"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://twitter.com/ApacheCamel" title="Follow Apache Camel on Twitter"><svg focusable="false" class="brand-icon"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#twitter"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://www.linkedin.com/groups/2447439/" title="Apache Camel group on Linkedin"><svg focusable="false" class="brand-icon"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#linkedin"/></svg></a> </div> <button class="navbar-burger" data-target="topbar-nav" type="button" aria-label="Menu"> <span></span> <span></span> <span></span> </button> </div> </nav> </header> <a id="top"></a> <div class="body"> <div class="nav-container" data-component="camel-k" data-version="next"> <aside class="nav" aria-label="Side menu"> <div class="panels"> <div class="nav-panel-menu is-active"> <nav class="nav-menu" data-panel="menu" aria-label="Topics"> <h3 class="title"><a href="../index.html">Camel K</a></h3> <ul class="nav-list"> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <span class="nav-text">Concepts</span> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../concepts/overview.html">Overview</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../concepts/dependencies.html">Dependencies</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../concepts/releases.html">Release policy</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../installation/installation.html">Installation</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../installation/registry.html">Configure Registry</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../installation/builds.html">Configure Builds</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../installation/keda.html">Configure Keda</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../installation/knative.html">Configure Knative</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../installation/upgrade.html">Upgrade</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../installation/uninstalling.html">Uninstalling</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../installation/advanced/advanced.html">Advanced</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/network.html">Components topology</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/jdk-version.html">JDK version</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/platform-architecture.html">Platform architecture</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/resources.html">Resource management</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/multi.html">Multiple Operators</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/http-proxy.html">HTTP Proxy</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/offline.html">Offline</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../installation/advanced/pruning-registry.html">Pruning Registry</a> </li> </ul> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../running/running.html">Run an Integration</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../running/running-cli.html">kamel run CLI</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../running/build-from-git.html">Git hosted Integrations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../running/gitops.html">GitOps</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../running/self-managed.html">Self managed Integrations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../running/synthetic.html">Synthetic Integrations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../running/promoting.html">kamel promote CLI</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../running/dry-build.html">Dry build</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../pipes/pipes.html">Run an Pipe</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../pipes/bind-cli.html">kamel bind CLI</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../pipes/error-handler.html">Error Handler</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../pipes/promoting.html">Promote a Pipe</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../languages/languages.html">Languages</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../languages/java.html">Java</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../languages/yaml.html">YAML</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../languages/xml.html">XML</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../configuration/configuration.html">Configuration</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/dependencies.html">Dependencies</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/build-time-properties.html">Build time properties</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/quarkus-native.html">Quarkus Native</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/base-image.html">Base image</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/camel-properties.html">Camel Properties</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/runtime-config.html">Runtime configuration</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/runtime-resources.html">Runtime resources</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/runtime-version.html">Camel version</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../configuration/integrationprofiles.html">Profiles</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../traits/traits.html">Traits</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/affinity.html">Affinity</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/builder.html">Builder</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/camel.html">Camel</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/container.html">Container</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/cron.html">Cron</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/deployer.html">Deployer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/deployment.html">Deployment</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/environment.html">Environment</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/gateway.html">Gateway</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/gitops.html">Gitops</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/health.html">Health</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/ingress.html">Ingress</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/init-containers.html">Init Containers</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/istio.html">Istio</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/jolokia.html">Jolokia</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/jvm.html">Jvm</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/kamelets.html">Kamelets</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/keda.html">Keda</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/knative-service.html">Knative Service</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/knative.html">Knative</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/logging.html">Logging</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/master.html">Master</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/mount.html">Mount</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/owner.html">Owner</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/pdb.html">Pdb</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/pod.html">Pod</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/prometheus.html">Prometheus</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/pull-secret.html">Pull Secret</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/quarkus.html">Quarkus</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/route.html">Route</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/security-context.html">Security Context</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/service.html">Service</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/telemetry.html">Telemetry</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../traits/toleration.html">Toleration</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../kamelets/kamelets.html">Kamelets</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../kamelets/architecture.html">Architecture</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../kamelets/distribution.html">Distribution</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../kamelets/configuration.html">Configuration</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../pipeline/pipeline.html">Pipelines</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../pipeline/external.html">External CICD</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <span class="nav-text">Scaling</span> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../scaling/integration.html">Integrations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../scaling/pipe.html">Pipes</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../observability/dashboard.html">Observability</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../observability/operator-logging.html">Operator logging</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../observability/monitoring.html">Operator monitoring</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../observability/monitoring/operator.html">Operator metrics</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../observability/monitoring/operator-sops.html">S.O.P.s</a> </li> </ul> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="troubleshooting.html">Troubleshooting</a> <ul class="nav-list"> <li class="nav-item is-current-page" data-depth="2"> <a class="nav-link" href="debugging.html">Debugging</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../architecture/architecture.html">Architecture</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../architecture/operator.html">Operator</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../architecture/cr/integration-platform.html">IntegrationPlatform</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../architecture/cr/integration.html">Integration</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../architecture/cr/integration-kit.html">IntegrationKit</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../architecture/cr/build.html">Build</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../architecture/cr/camel-catalog.html">CamelCatalog</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../architecture/runtime.html">Runtime</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../architecture/traits.html">Traits</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../architecture/incremental-image.html">Incremental Image</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <span class="nav-text">API</span> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../apis/camel-k.html">Camel K v1</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../contributing/developers.html">Contributing</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../contributing/local-development.html">Local development</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../contributing/local-execution.html">Operator - local execution</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="../contributing/remote-debugging.html">Operator - remote debug</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../contributing/e2e.html">Local E2E testing</a> </li> </ul> </li> </ul> </li> </ul> </nav> </div> <div class="nav-panel-explore" data-panel="explore"> <div class="context"> <span class="title">Camel K</span> <span class="version">Next (Pre-release)</span> </div> <ul class="components"> <li class="component"> <span class="title"> <a href="../../../manual/index.html">User manual</a> </span></li> <li class="component"> <span class="title"> <a href="../../../camel-core/index.html">Camel Core</a> </span></li> <li class="component"><span class="title">Camel Components</span> <ul class="versions"> <li class="version"> <a href="../../../components/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../components/4.18.x/index.html">4.18.x (LTS)</a> </li> <li class="version"> <a href="../../../components/4.14.x/index.html">4.14.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Spring Boot</span> <ul class="versions"> <li class="version"> <a href="../../../camel-spring-boot/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../camel-spring-boot/4.18.x/index.html">4.18.x (LTS)</a> </li> <li class="version"> <a href="../../../camel-spring-boot/4.14.x/index.html">4.14.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Quarkus</span> <ul class="versions"> <li class="version"> <a href="../../../camel-quarkus/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../camel-quarkus/3.33.x/index.html">3.33.x</a> </li> <li class="version"> <a href="../../../camel-quarkus/3.27.x/index.html">3.27.x</a> </li> </ul></li> <li class="component"><span class="title">Kamelet Catalog</span> <ul class="versions"> <li class="version"> <a href="../../../camel-kamelets/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../camel-kamelets/4.18.x/index.html">4.18.x (LTS)</a> </li> <li class="version"> <a href="../../../camel-kamelets/4.14.x/index.html">4.14.x (LTS)</a> </li> </ul></li> <li class="component is-current"><span class="title">Camel K</span> <ul class="versions"> <li class="version is-current"> <a href="../index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../2.10.x/index.html">2.10.x</a> </li> <li class="version"> <a href="../../2.9.x/index.html">2.9.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Kafka Connector</span> <ul class="versions"> <li class="version"> <a href="../../../camel-kafka-connector/next/index.html">Next (Pre-release)</a> </li> </ul></li> <li class="component"><span class="title">Camel Karaf</span> <ul class="versions"> <li class="version"> <a href="../../../camel-karaf/4.9.x/index.html">4.9.x</a> </li> </ul></li> </ul> </div> </div> </aside> </div> <main class="article"> <nav class="toolbar" aria-label="Toolbar"> <button class="nav-toggle" type="button" aria-label="Toggle submenu"></button> <nav class="breadcrumbs" aria-label="breadcrumbs"> <ul> <li><a href="../index.html">Camel K</a></li> <li><a href="troubleshooting.html">Troubleshooting</a></li> <li><a href="debugging.html">Debugging</a></li> </ul> </nav> <div class="page-versions"> <button class="version-menu-toggle" type="button" title="Show other versions of page">Next (Pre-release)</button> <div class="version-menu"> <a class="version is-current" href="debugging.html">Next (Pre-release)</a> <a class="version" href="../../2.10.x/troubleshooting/debugging.html">2.10.x</a> <a class="version" href="../../2.9.x/troubleshooting/debugging.html">2.9.x (LTS)</a> </div> </div> <div class="edit-this-page"><a href="https://github.com/apache/camel-k/edit/main/docs/modules/ROOT/pages/troubleshooting/debugging.adoc">Edit this Page</a></div> </nav> <div class="content"> <article class="doc"> <h1 class="page">Debugging Camel K Integrations</h1> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Sometimes an Integration can fail or behave unexpectedly for unknown reasons, and a developer needs to investigate the cause of such behavior. Attaching a Java debugger to an Integration is a common way to start the investigation.</p> </div> <div class="paragraph"> <p>Even if the Integration Pods runs on a Kubernetes cluster, it’s very easy to attach a Java debugger to the remote Integration container using the CLI.</p> </div> <div class="paragraph"> <p>Camel K offers some easy approach and some tool which can turn very useful when you want to start a remote debugger and acts as you’re debugging on a local machine.</p> </div> <div class="paragraph"> <p>Although technically it is feasible to debug any Camel DSL, in practice, it can result complicated to add a breakpoint on any non Java DSL. For this reason, the guidelines provided in this section are specific to Java DSL.</p> </div> </div> </div> <div class="sect1"> <h2 id="_debug_a_camel_application"><a class="anchor" href="#_debug_a_camel_application"></a>Debug a Camel application</h2> <div class="sectionbody"> <div class="paragraph"> <p>The very first thing to do is to run an application. It’s important you have the source code at hands, as later you will need such a source code for your IDE as well.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ kamel run src/main/Test.java</code></pre> </div> </div> <div class="paragraph"> <p>When the application has started. You can use the <code>kamel debug</code> command to put it in <em>debug</em> mode:</p> </div> <div class="admonitionblock note"> <div class="table-wrapper"><table> <tr> <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> <td class="content"> make sure you don’t debug a production workflow. The debug is stopping the previous running Pods and restart a new Pod with the specific profile activated. </td> </tr> </table></div> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ kamel debug test</code></pre> </div> </div> <div class="paragraph"> <p>The goal of the <strong>debug</strong> command is to equip the running application with the JVM configuration required to debug a Java application. Additionally it creates a proxy toward the port defined (default, <code>5005</code>) so that you can execute the debugger on <code>localhost</code> and bridge transparently to the remote cluster.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ kamel debug test |
| Enabling debug mode on integration "test"... |
| 2025-11-25T15:42:02+01:00 DEBUG camel-k First attempt to bootstrap Port Forward with LabelSelector: camel.apache.org/debug=true,camel.apache.org/integration=test |
| ... |
| Forwarding from 127.0.0.1:5005 -> 5005 |
| Forwarding from [::1]:5005 -> 5005 |
| [1] Monitoring pod test-64c8ddc7f7-w4njw |
| [1] Listening for transport dt_socket at address: 5005</code></pre> </div> </div> <div class="paragraph"> <p>The application is suspendend (which is the default) until a debugger is attached. From this point onward you can attach your debugger and continue the debugging on your preferred IDE.</p> </div> <div class="admonitionblock note"> <div class="table-wrapper"><table> <tr> <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> <td class="content"> you can use any other port and JVM options, see <code>kamel debug --help</code>. </td> </tr> </table></div> </div> </div> </div> <div class="sect1"> <h2 id="_debugging_camel_in_vscode"><a class="anchor" href="#_debugging_camel_in_vscode"></a>Debugging Camel in VSCode</h2> <div class="sectionbody"> <div class="paragraph"> <p>We are providing some guidelines to illustrate how you can <strong>debug Camel on VSCode</strong>. Other IDEs may have a different way of achieving the goal, so you may follow their guidelines as for any other Java application.</p> </div> <div class="paragraph"> <p>You may have noticed that we have started the application in <code>src/main/Test.Java</code>. This is something that is expected by VSCode, as any regular Java application convention. You can therefore open VSCode and under the project root folder you can include the following debug configuration:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-json hljs" data-lang="json">{ |
| "version": "0.2.0", |
| "configurations": [ |
| { |
| "type": "java", |
| "name": "Attach to Remote JVM (Kubernetes)", |
| "request": "attach", |
| "hostName": "localhost", |
| "port": 5005, |
| "projectName": "my-java-app", |
| "timeout": 30000 |
| } |
| ] |
| }</code></pre> </div> </div> <div class="paragraph"> <p>The file has to be saved under <code>.vscode/launch.json</code> of the project root directory. It basically tells the IDE to connect the debugger as it was on <code>localhost:5005</code>. Then, on your application you can add the breakpoint on the place you need to investigate. For example:</p> </div> <div class="imageblock"> <div class="content"> <img src="../_images/debugging/camel-k-debugger-1.png" alt="Add a breakpoint to a Camel application on Kubernetes"> </div> </div> <div class="paragraph"> <p>At this stage you can start the debugger via "Run >> Start Debugging" option. The Pod will resume its execution and it will stop when reaching the breakpoint. Here you will be able to debug according to your specific needs:</p> </div> <div class="imageblock"> <div class="content"> <img src="../_images/debugging/camel-k-debugger-2.png" alt="Debug like a pro any Camel application on Kubernetes"> </div> </div> <div class="paragraph"> <p>When the debugging session is over, feel free to stop the <code>kamel debug</code> via <code>CTRL + C</code>. This will terminate the Integration debugging Pod and will start a new Pod to continue its work as usual.</p> </div> </div> </div> </article> <aside class="toc sidebar" aria-label="Table of contents" data-title="Contents" data-levels="2"> <div class="toc-menu"></div> </aside> </div> </main> </div> <div class="footer-tools"> <a href="#top" title="Reach the top of the page">Back to top</a> </div> <footer> <div class="footer"> <figure class="logo"> <img src="../../../_/img/logo-d-a567cee6fa.svg" class="logo-small mt-60" alt="Apache Camel Logo" aria-label="white silhouette of a camel in front of a sand dune"> </figure> <input id="footer-toggle-overview" type="checkbox" title="Show/Hide Overview section"> <dl> <dt><label for="footer-toggle-overview">Overview</label><label for="footer-toggle-overview">+</label></dt> <dd><a href="../../../blog/">Blog</a></dd> <dd><a href="../../../docs/">Documentation</a></dd> <dd><a href="../../../community/support/">Community</a></dd> <dd><a href="../../../download/">Download</a></dd> </dl> <input id="footer-toggle-documentation" type="checkbox" title="Show/Hide Documentation section"> <dl> <dt><label for="footer-toggle-documentation">Documentation</label><label for="footer-toggle-documentation">+</label></dt> <dd><a href="../../../manual/">User Manual</a></dd> <dd><a href="../../../components/next/index.html">Components</a></dd> <dd><a href="../../../camel-k/next/">Camel-K</a></dd> <dd><a href="../../../camel-kafka-connector/next/">Camel Kafka Connector</a></dd> <dd><a href="../../../camel-quarkus/next/">Camel Quarkus</a></dd> <dd><a href="../../../camel-spring-boot/next/">Camel Spring Boot</a></dd> <dd><a href="../../../camel-karaf/latest/">Camel Karaf</a></dd> <dd><a href="../../../manual/faq/index.html">FAQ</a></dd> </dl> <input id="footer-toggle-community" type="checkbox" title="Show/Hide Community section"> <dl> <dt><label for="footer-toggle-community">Community</label><label for="footer-toggle-community">+</label></dt> <dd><a href="../../../community/support/">Support</a></dd> <dd><a href="../../../community/contributing/">Contributing</a></dd> <dd><a href="../../../community/mailing-list/">Mailing Lists</a></dd> <dd><a href="../../../community/user-stories/">User stories</a></dd> <dd><a href="../../../community/articles/">Articles</a></dd> <dd><a href="../../../community/books/">Books</a></dd> <dd><a href="../../../community/team/">Team</a></dd> </dl> <input id="footer-toggle-about" type="checkbox" title="Show/Hide Acknowledgements section"> <dl> <dt><label for="footer-toggle-about">About</label><label for="footer-toggle-about">+</label></dt> <dd><a href="../../../acknowledgments/">Acknowledgments</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/licenses/" title="License">License</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/security/" title="Security">Security</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></dd> </dl> <p class="remark"> © 2004-2026 The <a href="https://apache.org">Apache Software Foundation</a>.<br> Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners. </p> <div class="resources"> <div class="context"> <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a> </div> <div class="context"> <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a> </div> <div class="context"> <a href="../../../sitemap/">Sitemap</a> </div> </div> <div class="footer-icons"> <a rel="noopener noreferrer nofollow" href="https://github.com/apache/camel/" title="Collaborate on GitHub"><svg class="brand-icon" focusable="false"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#github"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://camel.zulipchat.com" title="Chat on Zulip"><svg class="brand-icon" focusable="false"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#zulip"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://twitter.com/ApacheCamel" title="Follow Apache Camel on Twitter"><svg class="brand-icon" focusable="false"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#twitter"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://www.linkedin.com/groups/2447439/" title="Apache Camel group on Linkedin"><svg class="brand-icon" focusable="false"><use xlink:href="../../../_/img/brand-logos-a2b35bbdec.svg#linkedin"/></svg></a> </div> </div> </footer> <script src="../../../_/js/vendor/algoliasearch-c7d08807d6.js"></script> <script src="../../../_/js/site-0eeb09d476.js"></script> <script async src="../../../_/js/vendor/highlight-621a10fe1b.js"></script> <script async src="../../../_/js/vendor/svg4everybody-a0c573f2b9.js"></script> <script async src="../../../_/js/vendor/tabs-5aea11bcf5.js" data-sync-storage-key="preferred-tab"></script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "Apache Camel", "url": "https://camel.apache.org", "sameAs": [ "https://twitter.com/ApacheCamel" ], "logo": "../../../_/img/logo-d-a567cee6fa.svg", "description": "Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration Patterns. Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and a Scala DSL." } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Apache Camel", "item": "https://camel.apache.org/" }, { "@type": "ListItem", "position": 2, "name": "Camel K", "item": "https://camel.apache.org/camel-k/2.10.x/index.html" }, { "@type": "ListItem", "position": 3, "name": "Next (Pre-release)", "item": "https://camel.apache.org/camel-k/next/index.html" }, { "@type": "ListItem", "position": 4, "name": "Troubleshooting", "item": "https://camel.apache.org/camel-k/next/troubleshooting/troubleshooting.html" }, { "@type": "ListItem", "position": 5, "name": "Debugging", "item": "https://camel.apache.org/camel-k/next/troubleshooting/debugging.html" }] } </script> </body> </html> |