{"id":3543,"date":"2019-01-28T07:00:17","date_gmt":"2019-01-28T01:30:17","guid":{"rendered":"http:\/\/www.upnxtblog.com\/?p=3543"},"modified":"2021-04-30T13:37:20","modified_gmt":"2021-04-30T08:07:20","slug":"free-updates-for-java-8-will-end-by-jan-2019what-are-options","status":"publish","type":"post","link":"https:\/\/www.upnxtblog.com\/index.php\/2019\/01\/28\/free-updates-for-java-8-will-end-by-jan-2019what-are-options\/","title":{"rendered":"FREE Updates for Java 8 will end by Jan 2019,what are options ?"},"content":{"rendered":"<div class='booster-block booster-read-block'><\/div><p>Java SE 8 was released on March 18<sup>th<\/sup>\u00a0in 2014.Oracle JDK 8\u00a0would be undergoing the\u00a0<em class=\"markup--em markup--blockquote-em\" style=\"font-size: 18px;\">\u201cEnd of Public Updates\u201d<\/em><span style=\"font-family: inherit; font-style: inherit; font-weight: inherit;\">\u00a0<\/span>process<span style=\"font-family: inherit; font-style: inherit; font-weight: inherit;\">, which means there are <span style=\"text-decoration: underline;\">no longer free updates\/security fixes for\u00a0<\/span><\/span><span style=\"text-decoration: underline;\">commercial use post Jan 2019,<\/span><\/p>\n<p><span style=\"font-family: inherit; font-style: inherit; font-weight: inherit;\">In this post,we explore different options before us.<\/span><\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_3557\" aria-describedby=\"caption-attachment-3557\" style=\"width: 3246px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"3557\" data-permalink=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/01\/28\/free-updates-for-java-8-will-end-by-jan-2019what-are-options\/javase\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?fit=3246%2C2375&amp;ssl=1\" data-orig-size=\"3246,2375\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"JavaSE\" data-image-description=\"&lt;p&gt;Java SE 8 Options&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Image &amp;#8211; Java SE 8 Options&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?fit=1024%2C749&amp;ssl=1\" class=\"size-full wp-image-3557 lazyload\" data-src=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?resize=1140%2C834\" alt=\"Java SE 8 Options\" width=\"1140\" height=\"834\" data-srcset=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?w=3246&amp;ssl=1 3246w, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?resize=300%2C220&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?resize=768%2C562&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?resize=1024%2C749&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?resize=600%2C439&amp;ssl=1 600w, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/JavaSE.jpg?w=2280&amp;ssl=1 2280w\" data-sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1140px; --smush-placeholder-aspect-ratio: 1140\/834;\" \/><\/a><figcaption id=\"caption-attachment-3557\" class=\"wp-caption-text\">Image &#8211; Java SE 8 Options (click to enlarge)<\/figcaption><\/figure>\n<ol>\n<li>The\u00a0<a class=\"markup--anchor markup--blockquote-anchor\" href=\"http:\/\/openjdk.java.net\/\" target=\"_blank\" rel=\"noopener nofollow\" data-href=\"http:\/\/openjdk.java.net\/\" data->OpenJDK<\/a>\u00a0community creates and maintains the (GPLv2+CE) open-source Reference Implementation (RI) of the\u00a0<strong class=\"markup--strong markup--blockquote-strong\">Java SE<\/strong>\u00a0Specification<strong class=\"markup--strong markup--blockquote-strong\">\u00a0<\/strong>as governed by the\u00a0<a class=\"markup--anchor markup--blockquote-anchor\" href=\"https:\/\/www.jcp.org\/\" target=\"_blank\" rel=\"noopener nofollow\" data-href=\"https:\/\/www.jcp.org\/\" data->Java Community Process<\/a>\u00a0(JCP) and defined through an umbrella Java Specification Request (JSR) for each feature release.<\/li>\n<li><a class=\"markup--anchor markup--blockquote-anchor\" href=\"http:\/\/jdk.java.net\/\" target=\"_blank\" rel=\"noopener nofollow\" data-href=\"http:\/\/jdk.java.net\/\" data->Oracle OpenJDK build<\/a>\u00a0under the Open Source (GPLv2+CE) license and will follow the <em>new six-month release cadence<\/em>\n<p><figure style=\"width: 642px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" decoding=\"async\" data-src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/800\/1%2Ap0QhQsnUyaJCuA7F52LcBg.png?resize=642%2C276&#038;ssl=1\" alt=\"New Oracle OpenJDK Release Plan\" width=\"642\" height=\"276\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 642px; --smush-placeholder-aspect-ratio: 642\/276;\" \/><figcaption class=\"wp-caption-text\">Image &#8211; New Oracle OpenJDK Release Plan<\/figcaption><\/figure><\/li>\n<li><strong><span style=\"text-decoration: underline;\">For Personal Use :<\/span><\/strong>\n<ol style=\"list-style-type: lower-alpha;\">\n<li>Security Fixes\/Updates would be available through December 2020 for personal desktop use.<\/li>\n<li>Post 2020, You can continue to use Oracle JDK 8 indefinitely without updates or move to other Open JDK builds\/Oracle JDK.<\/li>\n<\/ol>\n<\/li>\n<li><strong><span style=\"text-decoration: underline;\">For Commercial Use :<\/span><\/strong>\n<ol style=\"list-style-type: lower-alpha;\">\n<li>There are No FREE Security Fixes\/ updates for commercial use after January 2019.<\/li>\n<li>If you want to continue on <strong>Java SE 8<\/strong>\u00a0or previous versions post Jan 2019,you would need to purchase Java SE Subscription from Oracle which is about $25 per processor per month for server and cloud deployments.For Desktop price is about $2.50 per user per month.For more information, and details on how to receive longer term support for Oracle JDK 8, please see the Oracle\u00a0<a href=\"https:\/\/www.oracle.com\/technetwork\/java\/java-se-support-roadmap.html\" target=\"\" rel=\"noopener\">Java SE Support Roadmap<\/a>.\n<p><figure id=\"attachment_3565\" aria-describedby=\"caption-attachment-3565\" style=\"width: 547px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"3565\" data-permalink=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/01\/28\/free-updates-for-java-8-will-end-by-jan-2019what-are-options\/javase-roadmap\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/javase-roadmap.jpg?fit=547%2C472&amp;ssl=1\" data-orig-size=\"547,472\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;S Karthikeyan&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1548609657&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"javase-roadmap\" data-image-description=\"&lt;p&gt;Oracle Java SE Support Roadmap&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Image &amp;#8211; Oracle Java SE Support Roadmap&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/javase-roadmap.jpg?fit=547%2C472&amp;ssl=1\" class=\"size-full wp-image-3565 lazyload\" data-src=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/javase-roadmap.jpg?resize=547%2C472\" alt=\"Oracle Java SE Support Roadmap\" width=\"547\" height=\"472\" data-srcset=\"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/javase-roadmap.jpg?w=547&amp;ssl=1 547w, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/javase-roadmap.jpg?resize=300%2C259&amp;ssl=1 300w\" data-sizes=\"auto, (max-width: 547px) 100vw, 547px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 547px; --smush-placeholder-aspect-ratio: 547\/472;\" \/><figcaption id=\"caption-attachment-3565\" class=\"wp-caption-text\">Image &#8211; Oracle Java SE Support Roadmap<\/figcaption><\/figure><\/li>\n<li>You can switch to <strong>Java SE 9 or any of the equivalent Oracle Open JDK builds<\/strong>. OpenJDK builds follows\u00a0 six-month cadence with scheduled quarterly security updates.<\/li>\n<li>If you&#8217;re concerned about receiving updates\/fixes on six-month cadence then you can consider switching to paid subscription on Oracle JDK.<\/li>\n<li>You can also switch to <strong>other Java SE \/ OpenJDK providers<\/strong> who provide either updates and\/or paid support options<\/li>\n<li>If you&#8217;re not concerned about updates\/fixes,you can actually <strong>build from source from any of them below<\/strong> (OpenJDK, no commercial support)\n<ol style=\"list-style-type: lower-roman;\">\n<li>Mercurial:\u00a0<a href=\"http:\/\/hg.openjdk.java.net\/\" target=\"_blank\" rel=\"noopener\">http:\/\/hg.openjdk.java.net\/<\/a><\/li>\n<li>Tarballs (7+):\u00a0<a href=\"https:\/\/openjdk-sources.osci.io\/\" target=\"_blank\" rel=\"noopener\">https:\/\/openjdk-sources.osci.io\/<\/a><\/li>\n<li>AdoptOpenJDK:\u00a0<a href=\"https:\/\/www.github.com\/AdoptOpenJDK\/openjdk-build\" target=\"_blank\" rel=\"noopener\">https:\/\/www.github.com\/AdoptOpenJDK\/openjdk-build<\/a><\/li>\n<\/ol>\n<\/li>\n<li>Below are some of the <strong>Free Binary Distributions<\/strong>\n<ol style=\"list-style-type: lower-roman;\">\n<li><a href=\"https:\/\/adoptopenjdk.net\/\" target=\"_blank\" rel=\"noopener\">AdoptOpenJDK<\/a>\u00a0(check blog post here.)<\/li>\n<li><a href=\"https:\/\/www.azul.com\/downloads\/zulu\/\" target=\"_blank\" rel=\"noopener\">Azul Zulu<\/a>\u00a0Zulu<sup>\u00ae<\/sup>\u00a0certified builds of\u00a0<a href=\"http:\/\/openjdk.java.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">OpenJDK<\/a>\u00a0are fully compliant with the Java SE standard<\/li>\n<li>Various Linux distros (like Ubuntu,Debian etc.,) will continue to provide OpenJDK builds<\/li>\n<li><a href=\"http:\/\/jdk.java.net\/\" target=\"_blank\" rel=\"noopener\">Oracle <\/a><a href=\"http:\/\/jdk.java.net\/\" target=\"_blank\" rel=\"noopener\">OpenJDK<\/a><a href=\"http:\/\/jdk.java.net\/\" target=\"_blank\" rel=\"noopener\"> builds\u200a<\/a><\/li>\n<li><a href=\"http:\/\/sapmachine.io\/\" target=\"_blank\" rel=\"noopener\">SapMachine<\/a><\/li>\n<\/ol>\n<\/li>\n<li>There are also OpenJDK binary distributions from an <strong>alternative OpenJDK providers<\/strong>, i.e. Linux distros,\u00a0<a class=\"markup--anchor markup--blockquote-anchor\" href=\"https:\/\/adoptopenjdk.net\/\" target=\"_blank\" rel=\"noopener nofollow\" data-href=\"https:\/\/adoptopenjdk.net\/\" data->AdoptOpenJDK<\/a>,\u00a0<a class=\"markup--anchor markup--blockquote-anchor\" href=\"https:\/\/www.azul.com\/products\/zulu-enterprise\/\" target=\"_blank\" rel=\"noopener nofollow\" data-href=\"https:\/\/www.azul.com\/products\/zulu-enterprise\/\" data->Azul<\/a>,\u00a0<a class=\"markup--anchor markup--blockquote-anchor\" href=\"https:\/\/www.ibm.com\/marketplace\/support-for-runtimes\" target=\"_blank\" rel=\"noopener nofollow\" data-href=\"https:\/\/www.ibm.com\/marketplace\/support-for-runtimes\" data->IBM<\/a>,\u00a0<a class=\"markup--anchor markup--blockquote-anchor\" href=\"https:\/\/access.redhat.com\/articles\/1299013\" target=\"_blank\" rel=\"noopener nofollow\" data-href=\"https:\/\/access.redhat.com\/articles\/1299013\" data->Red Hat<\/a>, and others.\n<ol style=\"list-style-type: lower-roman;\">\n<li><a href=\"https:\/\/www.azul.com\/products\/azul_support_roadmap\/\" target=\"_blank\" rel=\"noopener\">Azul Systems<\/a><\/li>\n<li><a href=\"https:\/\/www.ibm.com\/marketplace\/support-for-runtimes\" target=\"_blank\" rel=\"noopener\">IBM <\/a><a href=\"https:\/\/www.ibm.com\/marketplace\/support-for-runtimes\" target=\"_blank\" rel=\"noopener\">OpenJDK<\/a><\/li>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javaseproducts\/overview\/javasesubscriptionfaq-4891443.html\" target=\"_blank\" rel=\"noopener\">Oracle <\/a><a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javaseproducts\/overview\/javasesubscriptionfaq-4891443.html\" target=\"_blank\" rel=\"noopener\">OpenJDK<\/a><\/li>\n<li><a href=\"https:\/\/access.redhat.com\/articles\/1299013\" target=\"_blank\" rel=\"noopener\">RedHat<\/a> <a href=\"https:\/\/access.redhat.com\/articles\/1299013\" target=\"_blank\" rel=\"noopener\">OpenJDK<\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>There\u2019s been considerable confusion post\u00a0<em class=\"markup--em markup--blockquote-em\" style=\"font-size: 18px;\">\u201cEnd of Public Updates\u201d<\/em>\u00a0note from Oracle but given the fact there lot of options,we just need to take right decision and move on.<\/p>\n<h2>References :<\/h2>\n<ul>\n<li><a href=\"https:\/\/medium.com\/@javachampions\/java-is-still-free-c02aef8c9e04\" target=\"_blank\" rel=\"noopener\">Java Is Still Free<\/a><\/li>\n<li>End of Public Updates is a Process, not an Event<\/li>\n<li>Update and FAQ on the Java SE Release Cadence<\/li>\n<li><a href=\"https:\/\/www.oracle.com\/technetwork\/java\/javaseproducts\/overview\/javasesubscriptionfaq-4891443.html\" target=\"_blank\" rel=\"noopener\">Oracle Java SE Subscription FAQ<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java SE 8 was released on March 18th\u00a0in 2014.Oracle JDK 8\u00a0would be undergoing the\u00a0\u201cEnd of Public Updates\u201d\u00a0process, which means there are no longer free updates\/security fixes for\u00a0commercial use post Jan 2019, In this post,we explore different options before us. &nbsp; The\u00a0OpenJDK\u00a0community creates and maintains the (GPLv2+CE) open-source Reference Implementation (RI) of the\u00a0Java SE\u00a0Specification\u00a0as governed by [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3562,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3],"tags":[324,159,323],"class_list":["post-3543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-new-tools","tag-adoptopenjdk","tag-java","tag-redhat"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/01\/java8.png?fit=225%2C225&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9fbQS-V9","jetpack-related-posts":[{"id":3614,"url":"https:\/\/www.upnxtblog.com\/index.php\/2019\/03\/14\/how-to-set-memory-limit-for-your-java-containers\/","url_meta":{"origin":3543,"position":0},"title":"How to set memory limit for your Java containers?","author":"Karthik","date":"March 14, 2019","format":false,"excerpt":"By default, Docker containers have no resource constraints and can use as much as the host\u2019s kernel memory and scheduler allows but there could be scenarios where you have to set it explicitly. For example in case if your container consumes too much of the host machine\u2019s memory and if\u2026","rel":"","context":"In &quot;Docker Guides&quot;","block_context":{"text":"Docker Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/docker\/"},"img":{"alt_text":"Set memory limit for container","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/02\/java7.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/02\/java7.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/02\/java7.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/02\/java7.jpg?resize=700%2C400 2x"},"classes":[]},{"id":928,"url":"https:\/\/www.upnxtblog.com\/index.php\/2017\/11\/29\/docker-tutorial-build-docker-image-for-your-java-application\/","url_meta":{"origin":3543,"position":1},"title":"Docker tutorial &#8211; Build Docker image for your Java application","author":"Karthik","date":"November 29, 2017","format":false,"excerpt":"From the last post,we have understood what is container and why do we use containers in general. Just to recap here are some of the key points Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and\u2026","rel":"","context":"In &quot;Docker Guides&quot;","block_context":{"text":"Docker Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/docker\/"},"img":{"alt_text":"Docker","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/dock1.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/dock1.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/dock1.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/dock1.png?resize=700%2C400 2x"},"classes":[]},{"id":3953,"url":"https:\/\/www.upnxtblog.com\/index.php\/2019\/07\/11\/do-you-want-to-access-native-library-methods-without-requiring-any-additional-jni-or-native-code\/","url_meta":{"origin":3543,"position":2},"title":"Do you want to access native library methods without requiring any additional JNI or native code ?","author":"Karthik","date":"July 11, 2019","format":false,"excerpt":"At times, there are instances you would need to use native (non-Java) codes (e.g., C\/C++) to overcome the memory management and performance constraints in Java. Though Java does support native codes via the Java Native Interface (JNI) it is difficult when it comes to cross-platform mappings and mappings for a\u2026","rel":"","context":"In &quot;Best Tools\/Open Source Libs&quot;","block_context":{"text":"Best Tools\/Open Source Libs","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/new-tools\/"},"img":{"alt_text":"Java Native Access Library","src":"https:\/\/i0.wp.com\/github.com\/java-native-access\/jna\/raw\/master\/www\/images\/jnalogo.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3897,"url":"https:\/\/www.upnxtblog.com\/index.php\/2019\/06\/12\/how-to-run-java-application-as-service-on-linux\/","url_meta":{"origin":3543,"position":3},"title":"How to run Java application as service on Linux","author":"Karthik","date":"June 12, 2019","format":false,"excerpt":"In this post, we check out how to run Java application as service on Linux and also start automatically if and when the system restarts. Before we move on to the article, let us understand what is systemd .It is part of Linux kernel that provides the System and Service\u2026","rel":"","context":"In &quot;Best Tools\/Open Source Libs&quot;","block_context":{"text":"Best Tools\/Open Source Libs","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/new-tools\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/06\/1200px-Tux.svg.png?fit=1018%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/06\/1200px-Tux.svg.png?fit=1018%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/06\/1200px-Tux.svg.png?fit=1018%2C1200&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2019\/06\/1200px-Tux.svg.png?fit=1018%2C1200&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":7689,"url":"https:\/\/www.upnxtblog.com\/index.php\/2024\/03\/07\/unlock-the-potential-of-java-microservices-for-scalable-solutions\/","url_meta":{"origin":3543,"position":4},"title":"Unlock the Potential of Java Microservices for Scalable Solutions","author":"Karthik","date":"March 7, 2024","format":false,"excerpt":"In today's rapidly evolving digital landscape, businesses and developers are continuously searching for efficient, scalable solutions to meet their complex software development needs. One such powerful approach that has gained significant traction is the utilization of Java Microservices. This architectural style, known for its agility, scalability, and the ability to\u2026","rel":"","context":"In &quot;Cloud Computing&quot;","block_context":{"text":"Cloud Computing","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/cloud\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2024\/03\/Java-Microservices-for-Scalable-Solutions.jpg?fit=1000%2C688&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2024\/03\/Java-Microservices-for-Scalable-Solutions.jpg?fit=1000%2C688&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2024\/03\/Java-Microservices-for-Scalable-Solutions.jpg?fit=1000%2C688&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2024\/03\/Java-Microservices-for-Scalable-Solutions.jpg?fit=1000%2C688&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2378,"url":"https:\/\/www.upnxtblog.com\/index.php\/2018\/04\/25\/use-assertj-to-improve-your-test-code-readability-maintenance-of-tests-easier\/","url_meta":{"origin":3543,"position":5},"title":"Use AssertJ to improve your test code readability, maintenance of tests easier","author":"Karthik","date":"April 25, 2018","format":false,"excerpt":"AssertJ core is a Java library that provides a fluent interface for writing assertions.It provides assertions for JDK standard types and can be used with JUnit, TestNG or any other test framework. Key Features : AssertJ provides a rich set of assertions, truly helpful error messages, improves test code readability\u2026","rel":"","context":"In &quot;Best Tools\/Open Source Libs&quot;","block_context":{"text":"Best Tools\/Open Source Libs","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/new-tools\/"},"img":{"alt_text":"AssertJ fluent assertions sample","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2018\/04\/assertj.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2018\/04\/assertj.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2018\/04\/assertj.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2018\/04\/assertj.png?resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts\/3543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=3543"}],"version-history":[{"count":17,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts\/3543\/revisions"}],"predecessor-version":[{"id":6145,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts\/3543\/revisions\/6145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/media\/3562"}],"wp:attachment":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=3543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=3543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=3543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}