{"id":103046,"date":"2020-03-25T10:00:00","date_gmt":"2020-03-25T08:00:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=103046"},"modified":"2020-03-23T14:57:58","modified_gmt":"2020-03-23T12:57:58","slug":"apache-camel-3-1-fast-loading-of-xml-routes","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html","title":{"rendered":"Apache Camel 3.1 &#8211; Fast loading of XML routes"},"content":{"rendered":"<p>A feature that was added to Camel 3.1 is the ability to load XML routes much faster. This is part of the overall work we are doing on making Camel much smaller and faster.<\/p>\n<p>You may say ewww XML. But frankly there are many users of Camel that have built applications with XML for defining routes. In Camel 2.x then you would have to use Spring or OSGi Blueprint for XML routes which both are becoming heavy in modern cloud native world.<\/p>\n<p>In Camel 3 we have a standalone mode for Camel called camel-main. We use camel-main as a common way to bootstrap and configure Camel for standalone, camel-k, camel-quarkus, and for most parts of camel-spring-boot as well. This ensures an unified and consistent developer experience across those runtimes.<\/p>\n<p>Okay this is probably a topic for another blog post to dive into camel-main as a great runtime for quickly running &#8230; just Camel.<\/p>\n<p>So what I wanted to say in this blog post is that we have made it possible to loading XML routes much quicker and with a lot less overhead. In Camel 2.x, and for Spring XML and Blueprint XML they rely on JAXP and JAXB which &#8230; are heavy.<\/p>\n<p>So what we have done for Camel 3.1 is to source code generate a XML parser based on the Camel DSL. This means anything we do changes to the DSL then the parser is re-generated. The parser just uses standard Java so there are no additional 3rd party library dependencies.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>For loading XML routes in Camel we now have 2 parsers in the following JARs<\/p>\n<p>&#8211;<b>camel-xml-jaxb<\/b>\u00a0 \u00a0(traditional JAXB based as in Camel 2.x)<\/p>\n<p>&#8211;<b>camel-xml-io\u00a0<\/b> \u00a0 \u00a0 \u00a0(new fast and lightweight source code generated parsers)<\/p>\n<p>The example <a href=\"https:\/\/github.com\/apache\/camel-examples\/tree\/master\/examples\/camel-example-main-xml\">camel-example-main-xml<\/a> is setup to use the new parser. But you can try for yourself and switch to the jaxb parser by changing the JAR dependency.<\/p>\n<p>Lets see some numbers (note this is just a quick test on my laptop to run this example with the 2 XML parsers).<\/p>\n<p>camel-xml-jaxb: Loaded 1 (<b>808 millis<\/b>) additional Camel XML routes from: routes\/*.xml<\/p>\n<p>camel-xml-io:\u00a0Loaded 1 (<b>76 millis<\/b>) additional Camel XML routes from: routes\/*.xml<\/p>\n<p>So the new parser is about 10 times faster (76 vs 808 millis).<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"400\" height=\"140\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2020\/03\/xml-fast.png\" alt=\"\" class=\"wp-image-103066\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2020\/03\/xml-fast.png 400w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2020\/03\/xml-fast-300x105.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/figure>\n<\/div>\n<p>By profiling the JVM we can see that there is a lot less classes loaded as well: 4734 vs 3892. And on top of that JAXB leaves more objects and classes around in the JVM that may or may not easily be garbage collected, and would also be using more cpu and memory during its parsing.<\/p>\n<p>And then on GraalVM then the new parser would be much quicker as you can avoid having the entire JAXB and JAXP API and implementation on the classpath and for the GraalVM compiler to crunch and compile. And speaking of GraalVM then we are working on some great improvements in the upcoming Camel 3.2 that should help reduce the image size and compilation, and allow to do more dead code elimination and whatnot to make Camel even more awesome. That&#8217;s yet another topic for another blog post, so stay tuned.<\/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 href=\"\/\/www.javacodegeeks.com\/join-us\/jcg\/\" target=\"_blank\" rel=\"noopener noreferrer\">JCG program<\/a>. See the original article here: <a href=\"http:\/\/www.davsclaus.com\/2020\/03\/apache-camel-31-fast-loading-of-xml.html\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Camel 3.1 &#8211; Fast loading of XML routes<\/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>A feature that was added to Camel 3.1 is the ability to load XML routes much faster. This is part of the overall work we are doing on making Camel much smaller and faster. You may say ewww XML. But frankly there are many users of Camel that have built applications with XML for defining &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-103046","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.1 - Fast loading of XML routes - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Interested to learn about XML routes? Check our article explaining how to perform Fast loading of XML routes in apache camel 3.\" \/>\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\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.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.1 - Fast loading of XML routes - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Interested to learn about XML routes? Check our article explaining how to perform Fast loading of XML routes in apache camel 3.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.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=\"2020-03-25T08: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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html\"},\"author\":{\"name\":\"Claus Ibsen\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/6a3920a26d1d22c201fb4b33063b5ca7\"},\"headline\":\"Apache Camel 3.1 &#8211; Fast loading of XML routes\",\"datePublished\":\"2020-03-25T08:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html\"},\"wordCount\":547,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.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\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html\",\"name\":\"Apache Camel 3.1 - Fast loading of XML routes - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-camel-logo.jpg\",\"datePublished\":\"2020-03-25T08:00:00+00:00\",\"description\":\"Interested to learn about XML routes? Check our article explaining how to perform Fast loading of XML routes in apache camel 3.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.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\\\/2020\\\/03\\\/apache-camel-3-1-fast-loading-of-xml-routes.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.1 &#8211; Fast loading of XML routes\"}]},{\"@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.1 - Fast loading of XML routes - Java Code Geeks","description":"Interested to learn about XML routes? Check our article explaining how to perform Fast loading of XML routes in apache camel 3.","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\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html","og_locale":"en_US","og_type":"article","og_title":"Apache Camel 3.1 - Fast loading of XML routes - Java Code Geeks","og_description":"Interested to learn about XML routes? Check our article explaining how to perform Fast loading of XML routes in apache camel 3.","og_url":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2020-03-25T08: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":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html"},"author":{"name":"Claus Ibsen","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/6a3920a26d1d22c201fb4b33063b5ca7"},"headline":"Apache Camel 3.1 &#8211; Fast loading of XML routes","datePublished":"2020-03-25T08:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html"},"wordCount":547,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.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\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html","url":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html","name":"Apache Camel 3.1 - Fast loading of XML routes - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-camel-logo.jpg","datePublished":"2020-03-25T08:00:00+00:00","description":"Interested to learn about XML routes? Check our article explaining how to perform Fast loading of XML routes in apache camel 3.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.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\/2020\/03\/apache-camel-3-1-fast-loading-of-xml-routes.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.1 &#8211; Fast loading of XML routes"}]},{"@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\/103046","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=103046"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/103046\/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=103046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=103046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=103046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}