{"id":32200,"date":"2014-10-30T01:00:08","date_gmt":"2014-10-29T23:00:08","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=32200"},"modified":"2014-10-28T22:58:07","modified_gmt":"2014-10-28T20:58:07","slug":"user-sessions-data-controls-and-am-pooling","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html","title":{"rendered":"User sessions, Data controls and AM pooling"},"content":{"rendered":"<p>Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user sessions, which allows a session to fetch exactly the same AM instance from the pool at the subsequent request.<\/p>\n<p>&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n<a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-3.49.26-PM.png\"><img decoding=\"async\" class=\"aligncenter size-medium wp-image-32226\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-3.49.26-PM-300x263.png\" alt=\"Screen Shot 2014-10-27 at 3.49.26 PM\" width=\"300\" height=\"263\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-3.49.26-PM-300x263.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-3.49.26-PM.png 496w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nAnd if there is more than one root application module in the application, then each of them is going to have its own AM pool:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-3.56.01-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-32227\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-3.56.01-PM.png\" alt=\"Screen Shot 2014-10-27 at 3.56.01 PM\" width=\"412\" height=\"258\" \/><\/a><br \/>\nAnd how about the situation when the application handles more than one instance of the same root application module. For example any kind of UI Shell application where each tab runs a task flow with isolated data control scope.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.08.13-PM.png\"><img decoding=\"async\" class=\"aligncenter size-medium wp-image-32228\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.08.13-PM-300x80.png\" alt=\"Screen Shot 2014-10-27 at 4.08.13 PM\" width=\"300\" height=\"80\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.08.13-PM-300x80.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.08.13-PM.png 434w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>In this case a user session references several AM instances in the pool. For this particular example there are going to be four AMs in the pool referenced by one session. One for the menu and three for the tabs.<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.20.24-PM.png\"><img decoding=\"async\" class=\"aligncenter size-medium wp-image-32229\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.20.24-PM-300x277.png\" alt=\"Screen Shot 2014-10-27 at 4.20.24 PM\" width=\"300\" height=\"277\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.20.24-PM-300x277.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.20.24-PM.png 539w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>So the <b>question<\/b> is how come the framework doesn&#8217;t mess it all up and knows exactly which AM instance in the pool should be used by each tab. The answer is that an application module instance in the pool is not directly referenced by a user session. Instead of that it is referenced by a SessionCookie object which is unique for each DataControl instance. Since the task flows in the application have been run with isolated data control scope, there is a separate DataControl instance for each of them.<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.42.15-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-32230\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Screen-Shot-2014-10-27-at-4.42.15-PM.png\" alt=\"Screen Shot 2014-10-27 at 4.42.15 PM\" width=\"412\" height=\"247\" \/><\/a><\/p>\n<p>That&#8217;s it!<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/adfpractice-fedor.blogspot.com\/2014\/10\/user-sessions-data-controls-and-am.html\">User sessions, Data controls and AM pooling<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/jcg\/\">JCG partner<\/a> Eugene Fedorenko at the <a href=\"http:\/\/adfpractice-fedor.blogspot.com\/\">ADF Practice<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user sessions, which allows a session to fetch exactly the same AM instance from the pool at the subsequent request. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; And if there is more than &hellip;<\/p>\n","protected":false},"author":191,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[344],"class_list":["post-32200","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-adf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>User sessions, Data controls and AM pooling<\/title>\n<meta name=\"description\" content=\"Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user\" \/>\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\/2014\/10\/user-sessions-data-controls-and-am-pooling.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"User sessions, Data controls and AM pooling\" \/>\n<meta property=\"og:description\" content=\"Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.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=\"2014-10-29T23:00:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-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=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html\"},\"author\":{\"name\":\"Eugene Fedorenko\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/9e61ee3d0b8fda5d1239f82f0f5e4e93\"},\"headline\":\"User sessions, Data controls and AM pooling\",\"datePublished\":\"2014-10-29T23:00:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html\"},\"wordCount\":272,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"keywords\":[\"ADF\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html\",\"name\":\"User sessions, Data controls and AM pooling\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2014-10-29T23:00:08+00:00\",\"description\":\"Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"java-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/10\\\/user-sessions-data-controls-and-am-pooling.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\":\"User sessions, Data controls and AM pooling\"}]},{\"@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":"User sessions, Data controls and AM pooling","description":"Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user","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\/2014\/10\/user-sessions-data-controls-and-am-pooling.html","og_locale":"en_US","og_type":"article","og_title":"User sessions, Data controls and AM pooling","og_description":"Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user","og_url":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2014-10-29T23:00:08+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-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":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html"},"author":{"name":"Eugene Fedorenko","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/9e61ee3d0b8fda5d1239f82f0f5e4e93"},"headline":"User sessions, Data controls and AM pooling","datePublished":"2014-10-29T23:00:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html"},"wordCount":272,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","keywords":["ADF"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html","url":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html","name":"User sessions, Data controls and AM pooling","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2014-10-29T23:00:08+00:00","description":"Recently I was asked an interesting question about application module pooling. As we know AM pool contains application module instances referenced by user","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","width":150,"height":150,"caption":"java-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2014\/10\/user-sessions-data-controls-and-am-pooling.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":"User sessions, Data controls and AM pooling"}]},{"@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\/32200","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=32200"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/32200\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=32200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=32200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=32200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}