{"id":108556,"date":"2021-01-29T07:00:00","date_gmt":"2021-01-29T05:00:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=108556"},"modified":"2021-01-27T19:32:50","modified_gmt":"2021-01-27T17:32:50","slug":"apache-camel-3-8-and-java-flight-recorder","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html","title":{"rendered":"Apache Camel 3.8 and Java Flight Recorder"},"content":{"rendered":"<p>In the upcoming <a href=\"https:\/\/camel.apache.org\/\" target=\"_blank\" rel=\"noopener\">Apache Camel<\/a> 3.8 release we have a new Camel component to integrate with Java Flight Recorder.<\/p>\n<p>Camel is now capable of capturing &#8220;work steps&#8221; during startup that can be recorded with Java Flight Recorder. This can be used to better diagnose and find where your Camel applications may be slow to startup, for example due to a misbehaving component or custom user code.<\/p>\n<p>The screenshot below shows a recording that has captured a Camel application that takes about 3 seconds to startup. Its a very tiny application so we expected it to be faster.\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-mission-control.png\"><img decoding=\"async\" width=\"1024\" height=\"373\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-mission-control-1024x373.png\" alt=\"\" class=\"wp-image-108569\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-mission-control-1024x373.png 1024w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-mission-control-300x109.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-mission-control-768x280.png 768w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-mission-control-1536x560.png 1536w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-mission-control-2048x747.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>If we sort the events by duration in the JDK mission control, we can see that there are 4 events that take over 2 seconds.<\/p>\n<p>The sequence is a sequence of the following step (sub step):<\/p>\n<p><i>Initializing context -&gt; Initializing routes -&gt; Creating route (route2) -&gt; Creating Bean processor (bean1)<\/i><\/p>\n<p>What we can see is that the step with the highest depth is &#8220;Creating Bean processor&#8221; which takes about 2 seconds. This is the culprit of the bottleneck.<\/p>\n<p>If we check the Camel route for where bean1 is in use, its in route2 at:<\/p>\n<p>&nbsp; &nbsp; &nbsp; &nbsp; from(&#8220;direct:slow&#8221;)<br \/>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .to(&#8220;log:slow?level=OFF&#8221;)<br \/>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .bean(MyBean.class, &#8220;hello&#8221;);<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p> Here we can see the bean is using MyBean class, which we can then look at next:<\/p>\n<p>  &nbsp; &nbsp; public MyBean() {<\/p>\n<p>  &nbsp; &nbsp; &nbsp; &nbsp; \/\/ force slow startup<\/p>\n<p>  &nbsp; &nbsp; &nbsp; &nbsp; try {<\/p>\n<p>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LOG.warn(&#8220;Forcing 2 sec delay to have slow startup&#8221;);<\/p>\n<p>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thread.sleep(2000);<\/p>\n<p>  &nbsp; &nbsp; &nbsp; &nbsp; } catch (Exception e) {<\/p>\n<p>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \/\/ ignore<\/p>\n<p>  &nbsp; &nbsp; &nbsp; &nbsp; }<\/p>\n<p>  &nbsp; &nbsp; }<\/p>\n<p>Ah okay here is the problem. The bean is sleeping for 2 seconds. Yes of course this is a made up example, but it does affect the recording and allow us to find it via the JDK mission control tool.<\/p>\n<p>We also offer a logging recorder where you can &#8220;see&#8221; some of the same information as in JDK mission control. However when using JDK mission control, you have the entire JFR recording that also captures alot of JVM information about CPU and memory use and whatnot.<\/p>\n<p>To use Java Flight Recorder with Camel, all you have to do is to add camel-jfr on the classpath. Then Camel will auto-detect this and enable it. You can configure the recorder with various options which will be documented as part of the <a href=\"https:\/\/camel.apache.org\/components\/latest\/others\/main.html\" target=\"_blank\" rel=\"noopener\">common options<\/a>.<\/p>\n<p>But for quickly finding startup bottlenecks for Camel applications then the logging recorder is a good start. The screenshot below shows the logging output, and as you can see from the red square we have identified where the &#8220;2 second&#8221; problem is.<\/p>\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-logging.png\"><img decoding=\"async\" width=\"1024\" height=\"447\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-logging-1024x447.png\" alt=\"\" class=\"wp-image-108567\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-logging-1024x447.png 1024w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-logging-300x131.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-logging-768x335.png 768w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-logging-1536x671.png 1536w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/01\/jdk-logging.png 1846w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>The logging recorder comes out of the box in camel-core, and you can just use it by configuring:<\/p>\n<p>camel.main.startup-recorder = logging<\/p>\n<p>If you are using Camel Main, Camel Quarkus etc. And for Spring Boot, you can enable it with<\/p>\n<p>camel.springboot.startup-recorder = logging<\/p>\n<p>You can also set a custom recorder, or one of the out of the box implementation via Java code:<\/p>\n<p>camelContext.adapt(ExtendedCamelContext.class)<br \/>&nbsp; .setStartupStepRecorder(&#8230;);<\/p>\n<p>You can try this example (<a href=\"https:\/\/github.com\/apache\/camel-examples\/tree\/master\/examples\/camel-example-flight-recorder\" target=\"_blank\" rel=\"noopener\">camel-example-flight-recorder<\/a>) from the Camel Examples git repository. From command line you can run&nbsp;<\/p>\n<p>mvn camel:run<\/p>\n<p>And Camel will automatic capture a JFR recording and save to disk. The output of the file is shown in the log, which you can then open from JDK mission control.&nbsp;&nbsp;<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>\n<p>Published on Java Code Geeks with permission by Claus Ibsen, partner at our <a target=\"_blank\" href=\"\/\/www.javacodegeeks.com\/join-us\/jcg\/\" rel=\"noopener\">JCG program<\/a>. See the original article here: <a target=\"_blank\" href=\"http:\/\/www.davsclaus.com\/2021\/01\/apache-camel-38-and-java-flight-recorder.html\" rel=\"noopener\">Apache Camel 3.8 and Java Flight Recorder<\/a><\/p>\n<p>Opinions expressed by Java Code Geeks contributors are their own.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In the upcoming Apache Camel 3.8 release we have a new Camel component to integrate with Java Flight Recorder. Camel is now capable of capturing &#8220;work steps&#8221; during startup that can be recorded with Java Flight Recorder. This can be used to better diagnose and find where your Camel applications may be slow to startup, &hellip;<\/p>\n","protected":false},"author":151,"featured_media":52,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[357],"class_list":["post-108556","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-apache-camel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Camel 3.8 and Java Flight Recorder - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"In the upcoming Apache Camel 3.8 release we have a new Camel component to integrate with Java Flight Recorder. Camel is now capable of capturing &quot;work\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Camel 3.8 and Java Flight Recorder - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"In the upcoming Apache Camel 3.8 release we have a new Camel component to integrate with Java Flight Recorder. Camel is now capable of capturing &quot;work\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-29T05:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-camel-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Claus Ibsen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/davsclaus\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claus Ibsen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html\"},\"author\":{\"name\":\"Claus Ibsen\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/6a3920a26d1d22c201fb4b33063b5ca7\"},\"headline\":\"Apache Camel 3.8 and Java Flight Recorder\",\"datePublished\":\"2021-01-29T05:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html\"},\"wordCount\":630,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-camel-logo.jpg\",\"keywords\":[\"Apache Camel\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html\",\"name\":\"Apache Camel 3.8 and Java Flight Recorder - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-camel-logo.jpg\",\"datePublished\":\"2021-01-29T05:00:00+00:00\",\"description\":\"In the upcoming Apache Camel 3.8 release we have a new Camel component to integrate with Java Flight Recorder. Camel is now capable of capturing \\\"work\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-camel-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-camel-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2021\\\/01\\\/apache-camel-3-8-and-java-flight-recorder.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Apache Camel 3.8 and Java Flight Recorder\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/6a3920a26d1d22c201fb4b33063b5ca7\",\"name\":\"Claus Ibsen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/105045acff5f0cc814e013252d842c2e7d5dd973232abd1b6e0d5726c3b2e4e3?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/105045acff5f0cc814e013252d842c2e7d5dd973232abd1b6e0d5726c3b2e4e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/105045acff5f0cc814e013252d842c2e7d5dd973232abd1b6e0d5726c3b2e4e3?s=96&d=mm&r=g\",\"caption\":\"Claus Ibsen\"},\"description\":\"Claus Ibsen is a principal software engineer from Red Hat. Claus is working full time as Apache Camel committer. And is author of the \\\"Camel in Action\\\" book.\",\"sameAs\":[\"http:\\\/\\\/davsclaus.blogspot.com\\\/\",\"http:\\\/\\\/www.linkedin.com\\\/in\\\/davsclaus\",\"https:\\\/\\\/x.com\\\/http:\\\/\\\/twitter.com\\\/davsclaus\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Claus-Ibsen\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Camel 3.8 and Java Flight Recorder - Java Code Geeks","description":"In the upcoming Apache Camel 3.8 release we have a new Camel component to integrate with Java Flight Recorder. Camel is now capable of capturing \"work","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html","og_locale":"en_US","og_type":"article","og_title":"Apache Camel 3.8 and Java Flight Recorder - Java Code Geeks","og_description":"In the upcoming Apache Camel 3.8 release we have a new Camel component to integrate with Java Flight Recorder. Camel is now capable of capturing \"work","og_url":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2021-01-29T05:00:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-camel-logo.jpg","type":"image\/jpeg"}],"author":"Claus Ibsen","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/davsclaus","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Claus Ibsen","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html"},"author":{"name":"Claus Ibsen","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/6a3920a26d1d22c201fb4b33063b5ca7"},"headline":"Apache Camel 3.8 and Java Flight Recorder","datePublished":"2021-01-29T05:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html"},"wordCount":630,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-camel-logo.jpg","keywords":["Apache Camel"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html","url":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html","name":"Apache Camel 3.8 and Java Flight Recorder - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-camel-logo.jpg","datePublished":"2021-01-29T05:00:00+00:00","description":"In the upcoming Apache Camel 3.8 release we have a new Camel component to integrate with Java Flight Recorder. Camel is now capable of capturing \"work","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-camel-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-camel-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2021\/01\/apache-camel-3-8-and-java-flight-recorder.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Apache Camel 3.8 and Java Flight Recorder"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/6a3920a26d1d22c201fb4b33063b5ca7","name":"Claus Ibsen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/105045acff5f0cc814e013252d842c2e7d5dd973232abd1b6e0d5726c3b2e4e3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/105045acff5f0cc814e013252d842c2e7d5dd973232abd1b6e0d5726c3b2e4e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/105045acff5f0cc814e013252d842c2e7d5dd973232abd1b6e0d5726c3b2e4e3?s=96&d=mm&r=g","caption":"Claus Ibsen"},"description":"Claus Ibsen is a principal software engineer from Red Hat. Claus is working full time as Apache Camel committer. And is author of the \"Camel in Action\" book.","sameAs":["http:\/\/davsclaus.blogspot.com\/","http:\/\/www.linkedin.com\/in\/davsclaus","https:\/\/x.com\/http:\/\/twitter.com\/davsclaus"],"url":"https:\/\/www.javacodegeeks.com\/author\/Claus-Ibsen"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/108556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/151"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=108556"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/108556\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/52"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=108556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=108556"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=108556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}