{"id":88572,"date":"2019-02-18T13:00:16","date_gmt":"2019-02-18T11:00:16","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=88572"},"modified":"2019-02-18T12:06:36","modified_gmt":"2019-02-18T10:06:36","slug":"monitoring-adf-application-docker","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html","title":{"rendered":"Monitoring an ADF Application in a Docker Container, Easy Way"},"content":{"rendered":"<p>In this short post I am going to show a simple approach to make sure that your ADF application running inside a Docker container is a healthy Java application in terms of memory utilization. I am going to use a standard tool JConsole which comes as a part of JDK installation on your computer. If there is a problem (i.e. a memory leak, &nbsp;often GCs, long GCs, etc.) you will see it with JConsole. In an effort to analyze the root of the problem and find the solution you might want to use more powerful and fancy tools. I will discuss that in one of my following posts. A story of tuning JVM for an ADF application is available&nbsp;<br \/><a href=\"https:\/\/www.slideshare.net\/euegenefedorenko\/oow2013-ef-final43\">here<\/a>.<\/p>\n<p>So there is an ADF application running on top of Tomcat. The application and the Tomcat are packaged into a Docker container running on <b>dkrlp01.flexagon <\/b>host. <a href=\"https:\/\/www.slideshare.net\/EugeneFedorenko4\/adf-with-docker?ref=\">There are<\/a> some slides on running an ADF application in a Docker container.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>In order to connect with JConsole from my laptop to a JVM running inside the container, we need to add the following JVM arguments in <b>tomcat\/bin\/setenv.sh<\/b>:<\/p>\n<pre class=\"wp-block-preformatted brush:java\">&nbsp;-Dcom.sun.management.jmxremote=true\n&nbsp;-Dcom.sun.management.jmxremote.rmi.port=9010\n&nbsp;-Dcom.sun.management.jmxremote.port=9010\n&nbsp;-Dcom.sun.management.jmxremote.ssl=false\n&nbsp;-Dcom.sun.management.jmxremote.authenticate=false\n&nbsp;-Dcom.sun.management.jmxremote.local.only=false\n&nbsp;-Djava.rmi.server.hostname=dkrlp01.flexagon<\/pre>\n<p>Besides that the container has to expose port 9010, so it should be created with<\/p>\n<p><b>&#8220;docker run -p 9010:9010 &#8230;&#8221; <\/b>command.<\/p>\n<p>Having done that we can invoke <b>jconsole <\/b>command locally and connect to the container:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.13.35-PM.png\" alt=\"ADF Application\" class=\"wp-image-88578\" width=\"624\" height=\"542\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.13.35-PM.png 832w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.13.35-PM-300x260.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.13.35-PM-768x666.png 768w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.11.47-PM-1024x701.png\" alt=\"ADF Application\" class=\"wp-image-88580\" width=\"768\" height=\"526\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.11.47-PM-1024x701.png 1024w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.11.47-PM-300x205.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.11.47-PM-768x526.png 768w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-17-at-2.11.47-PM.png 1600w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n<p>Now just give the application some load with you favorite testing tool (JMeter, OATS, SOAP UI, Selenium, etc..) and observe the memory utilization:<\/p>\n<p>That&#8217;s it!<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>\n<p>Published on Java Code Geeks with permission by Eugene Fedorenko , partner at our <a href=\"\/\/www.javacodegeeks.com\/join-us\/jcg\/\" target=\"_blank\" rel=\"noopener\">JCG program<\/a>. See the original article here: <a href=\"http:\/\/adfpractice-fedor.blogspot.com\/2019\/01\/monitoring-adf-application-in-docker.html\" target=\"_blank\" rel=\"noopener\">Monitoring an ADF Application in a Docker Container. Easy Way.<\/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 this short post I am going to show a simple approach to make sure that your ADF application running inside a Docker container is a healthy Java application in terms of memory utilization. I am going to use a standard tool JConsole which comes as a part of JDK installation on your computer. If &hellip;<\/p>\n","protected":false},"author":191,"featured_media":24013,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[344,936],"class_list":["post-88572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-adf","tag-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Monitoring an ADF Application in a Docker Container, Easy Way - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Interested to learn about ADF Application? Check our article explaining how to monitor easily an ADF Application in a Docker.\" \/>\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\/2019\/02\/monitoring-adf-application-docker.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monitoring an ADF Application in a Docker Container, Easy Way - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Interested to learn about ADF Application? Check our article explaining how to monitor easily an ADF Application in a Docker.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.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=\"2019-02-18T11:00:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/docker-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=\"Eugene Fedorenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eugene Fedorenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html\"},\"author\":{\"name\":\"Eugene Fedorenko\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/9e61ee3d0b8fda5d1239f82f0f5e4e93\"},\"headline\":\"Monitoring an ADF Application in a Docker Container, Easy Way\",\"datePublished\":\"2019-02-18T11:00:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html\"},\"wordCount\":300,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/docker-logo.jpg\",\"keywords\":[\"ADF\",\"Docker\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html\",\"name\":\"Monitoring an ADF Application in a Docker Container, Easy Way - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/docker-logo.jpg\",\"datePublished\":\"2019-02-18T11:00:16+00:00\",\"description\":\"Interested to learn about ADF Application? Check our article explaining how to monitor easily an ADF Application in a Docker.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/docker-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/docker-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/02\\\/monitoring-adf-application-docker.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\":\"Monitoring an ADF Application in a Docker Container, Easy Way\"}]},{\"@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\\\/9e61ee3d0b8fda5d1239f82f0f5e4e93\",\"name\":\"Eugene Fedorenko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g\",\"caption\":\"Eugene Fedorenko\"},\"description\":\"I am a Senior Architect at Flexagon focusing on ADF and many other things.\",\"sameAs\":[\"http:\\\/\\\/adfpractice-fedor.blogspot.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/eugene-fedorenko\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Monitoring an ADF Application in a Docker Container, Easy Way - Java Code Geeks","description":"Interested to learn about ADF Application? Check our article explaining how to monitor easily an ADF Application in a Docker.","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\/2019\/02\/monitoring-adf-application-docker.html","og_locale":"en_US","og_type":"article","og_title":"Monitoring an ADF Application in a Docker Container, Easy Way - Java Code Geeks","og_description":"Interested to learn about ADF Application? Check our article explaining how to monitor easily an ADF Application in a Docker.","og_url":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2019-02-18T11:00:16+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/docker-logo.jpg","type":"image\/jpeg"}],"author":"Eugene Fedorenko","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Eugene Fedorenko","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html"},"author":{"name":"Eugene Fedorenko","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/9e61ee3d0b8fda5d1239f82f0f5e4e93"},"headline":"Monitoring an ADF Application in a Docker Container, Easy Way","datePublished":"2019-02-18T11:00:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html"},"wordCount":300,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/docker-logo.jpg","keywords":["ADF","Docker"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html","url":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html","name":"Monitoring an ADF Application in a Docker Container, Easy Way - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/docker-logo.jpg","datePublished":"2019-02-18T11:00:16+00:00","description":"Interested to learn about ADF Application? Check our article explaining how to monitor easily an ADF Application in a Docker.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/docker-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/04\/docker-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2019\/02\/monitoring-adf-application-docker.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":"Monitoring an ADF Application in a Docker Container, Easy Way"}]},{"@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\/9e61ee3d0b8fda5d1239f82f0f5e4e93","name":"Eugene Fedorenko","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/603abf38118b4dc4a30d186fd170b45a3f06c8cb83e2598e6de2b3519fff4e3f?s=96&d=mm&r=g","caption":"Eugene Fedorenko"},"description":"I am a Senior Architect at Flexagon focusing on ADF and many other things.","sameAs":["http:\/\/adfpractice-fedor.blogspot.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/eugene-fedorenko"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/88572","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\/191"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=88572"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/88572\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/24013"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=88572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=88572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=88572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}