{"id":3393,"date":"2020-02-26T04:09:06","date_gmt":"2020-02-26T04:09:06","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=72371"},"modified":"2020-02-26T04:09:06","modified_gmt":"2020-02-26T04:09:06","slug":"java-weekly-issue-322","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/02\/26\/java-weekly-issue-322\/","title":{"rendered":"Java Weekly, Issue 322"},"content":{"rendered":"<p class=\"syndicated-attribution\"><meta name= \\\"keywords \\\" content= \\\"\u96fb\u5b50\u8a08\u7b97\u6a5f, \u6559\u80b2, IT \u96fb\u8166\u73ed,\u96fb\u8166\u88dc\u7fd2\uff0c \u96fb\u8166\u73ed\uff0c \u5bb6\u6559\uff0c \u79c1\u4eba\u8001\u5e2b\uff0c \u8cc7\u8a0a\u6280\u8853\uff0c \u7a0b\u5e8f\u8a2d\u8a08\uff0c \u96fb\u5b50\u8a08\u7b97\u6a5f\uff0c \u904a\u6232\uff0c \u860b\u679c\uff0c \u96fb\u5f71\uff0c \u8a08\u7b97\u6a5f\uff0c\u7de8\u78bc\uff0c Java\uff0c C\/C++\uff0c JavaScript\uff0c PHP\uff0c HTML\uff0c CSS\uff0c MySQL\uff0c mobile\uff0c Android\uff0c \u52d5\u6f2b\uff0c Python\uff0c teacher\uff0c \u88dc\u7fd2\uff0c \u96fb\u8166\u88dc\u7fd2 \u8cc7\u8a0a, \u7535\u5b50\u8ba1\u7b97\u673a, IT ,Game, apple, movie, Computer,student,Java,\u6559\u80b2, ,\u5b66\u751f, \u5b66\u4e60, learn, \u6559\u5b66,  Android, apple,anime, animation, \u4fe1\u606f\u6280\u672f, \u7a0b\u5e8f\u8bbe\u8ba1, \u79fb\u52a8\u7535\u8bdd, \u8cc7\u8a0a\u79d1\u6280,Game, Jeu, Juego,Call Of Duty ,\u4f7f\u547d\u53ec\u559a , \u6e38\u620f, \u7535\u5b50\u6e38\u620f,, \u591a\u4eba\u7535\u5b50\u6e38\u620f, \u7f51\u7edc\u6e38\u620f\uff0conline\uff0conline game, \u624b\u673a\u6e38\u620f, mobile \\\"><\/p>\n<h2 data-id=\"spring-and-java-3\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java-3\"><\/div>\n<h4><a href=\"https:\/\/reflectoring.io\/database-migration-spring-boot-flyway\/\"><strong>&gt;&gt; One-Stop Guide to Database Migration with Flyway and Spring Boot<\/strong><\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/h4>\n<p>A better way to <strong>manage database migrations for an evolving project<\/strong>.<\/p>\n<h4><a href=\"https:\/\/www.mscharhag.com\/spring\/annotation-composition\"><strong>&gt;&gt; Composing custom annotations with Spring<\/strong><\/a> [<span style=\"color: #800000\">mscharhag.com<\/span>]<\/h4>\n<p>A quick example of how Spring&#8217;s annotation processing makes it a snap to compose our own annotations from multiple Spring annotations.<\/p>\n<h4><a href=\"https:\/\/blog.codeleak.pl\/2020\/02\/getting-started-with-quarkus.html\"><strong>&gt;&gt; Getting started with Quarkus<\/strong><\/a> [<span style=\"color: #800000\">blog.codeleak.pl<\/span>]<\/h4>\n<p>And a great into to Quarkus, a <strong>Kubernetes-native, container-first Java framework<\/strong> that works with OpenJDK HotSpot and GraalVM to produce bytecode <strong>optimized for fast boot times and low memory consumption<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/02\/24\/netflix-built-a-spring-application-generator-to-boost-dev-productivity-here-s-how-you-can-too\"><strong>&gt;&gt; Netflix Built a Spring Application Generator to Boost Dev Productivity. Here&#8217;s How You Can, Too.<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/4comprehension.com\/quarkus-a-new-age-of-modern-java-frameworks-is-here\/\"><strong>&gt;&gt; Quarkus \u2013 A New Age of Modern Java Frameworks is Here<\/strong><\/a> [<span style=\"color: #800000\">4comprehension.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/rieckpil.de\/expose-metrics-of-spring-webclient-using-spring-boot-actuator\/\"><strong>&gt;&gt; Expose Metrics of Spring WebClient using Spring Boot Actuator<\/strong><\/a> [<span style=\"color: #800000\">rieckpil.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/alidg.me\/blog\/2020\/2\/23\/time-travel-jvm\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Time Travel with JVM<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">alidg.me<\/span>]<\/span><\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/stream-processing\/3\/\"><strong>&gt;&gt; Stream processing: sources and sinks<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/marxsoftware.blogspot.com\/2020\/02\/valhalla-amber-records-feb2020.html\"><strong>&gt;&gt; Updates on Valhalla and Amber Records (Mid-February 2020)<\/strong><\/a> [<span style=\"color: #800000\">marxsoftware.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/alblue.bandlem.com\/2020\/02\/jfr-bundle-listener.html\"><strong>&gt;&gt; Measuring bundle startup time with JFR<\/strong><\/a> [<span style=\"color: #800000\">alblue.bandlem.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/02\/20\/spring-tips-rsocket-and-spring-security\"><strong>&gt;&gt; Spring Tips: RSocket and Spring Security<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/02\/25\/spring-tips-apache-rocketmq\"><strong>&gt;&gt; Spring Tips: Apache RocketMQ<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/spring-framework-boot-performance-improvements\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Spring Performance Gains<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/td-ameritrade-agility\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Spring Cloud Gateway for Stateless Microservice Authorization<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/autozone-pivotal\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; AutoZone and the Road to Cloud-native<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/02\/25\/spring-framework-5-2-4-and-5-1-14-available-now\"><strong>&gt;&gt; Spring Framework 5.2.4 and 5.1.14 available now<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/quarkus.io\/blog\/quarkus-1-2-1-final-released\/\"><strong>&gt;&gt; Quarkus 1.2.1.Final released &#8211; Bugfixes only<\/strong><\/a> [<span style=\"color: #800000\">quarkus.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical-3\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-3\"><\/div>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/02\/implementing-a-consumer-driven-contract-testing-workflow-with-pact-broker-and-gitlab-ci\/\"><strong>&gt;&gt; Implementing a consumer-driven contract testing workflow with Pact broker and GitLab CI<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<p>A good write-up on Pact broker and <strong>how to integrate it into your build pipeline<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/02\/24\/github-cd.html\"><strong>&gt;&gt; GitHub is a free CI\/CD\/Hosting solution<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/techblog.bozho.net\/running-a-safe-database-cluster-in-aws-with-auto-scaling-groups\/\"><strong>&gt;&gt; Running a Safe Database Cluster in AWS with Auto-Scaling Groups<\/strong><\/a> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"musings-3\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings-3\"><\/div>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/software-aesthetics-craft\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Software, Aesthetics, and Craft: How Java, Lisp, and Agile Shape and Reflect Their Culture<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<p>An interesting look at how certain architectural and construction metaphors permeate different facets of the software industry.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/techblog.bozho.net\/where-is-this-coming-from\/\"><strong>&gt;&gt; Where is this coming from?<\/strong><\/a> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/medium.com\/@NetflixTechBlog\/introducing-dispatch-da4b8a2a8072\"><strong>&gt;&gt; Introducing Dispatch<\/strong><\/a> [<span style=\"color: #800000\">medium.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/thoughts-on-java.org\/microservice-scope-communication\/\"><strong>&gt;&gt; Scope + Communication \u2013 The magic formula of microservices<\/strong><\/a> [<span style=\"color: #800000\">thoughts-on-java.org<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"comics-3\"><strong>4. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics-3\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-02-21\"><strong>&gt;&gt; Expecting Excellence<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-02-23\"><strong>&gt;&gt; Reading Faces<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-02-24\"><strong>&gt;&gt; Work Harder Than Others<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h2 data-id=\"pick-of-the-week-3\"><strong>5. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week-3\"><\/div>\n<h4><strong><a href=\"http:\/\/www.paulgraham.com\/makersschedule.html\">&gt;&gt; Maker&#8217;s Schedule, Manager&#8217;s Schedule<\/a> <\/strong>[<span style=\"color: #993300\">paulgraham.com<\/span>]<\/h4>\n\n<p class=\"syndicated-attribution\"><figure class= \\\"wp-block-image alignnone \\\"><img src= \\\"http:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-content\/uploads\/2016\/05\/logo2-2.png\\\" alt=\\\"IT\u96fb\u8166\u88dc\u7fd2 java\u88dc\u7fd2 \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b, PHP\u88dc\u7fd2,CSS\u88dc\u7fd2,XML,Java\u88dc\u7fd2,MySQL\u88dc\u7fd2,graphic design\u88dc\u7fd2,\u4e2d\u5c0f\u5b78ICT\u88dc\u7fd2,\u4e00\u5c0d\u4e00\u79c1\u4eba\u88dc\u7fd2\u548cFreelance\u81ea\u7531\u5de5\u4f5c\u914d\u5c0d\u3002\\\"\/><figcaption>\u7acb\u523b\u8a3b\u518a\u53ca\u5831\u540d\u96fb\u8166\u88dc\u7fd2\u8ab2\u7a0b\u5427!<\/figcaption><\/figure>\r\n<\/br>Find A Teacher Form:\r\n<\/br>https:\/\/docs.google.com\/forms\/d\/1vREBnX5n262umf4wU5U2pyTwvk9O-JrAgblA-wH9GFQ\/viewform?edit_requested=true#responses\r\n<\/br><\/br>Email:\r\n<\/br>public1989two@gmail.com<br><br><br><br><br><br><br>\r\n<a href=www.itsec.hk style=color:#FFFFFF;>www.itsec.hk<\/a><br>\r\n<a href=\\\"www.itsec.vip\\\" style=color:#FFFFFF;>www.itsec.vip<\/a><br>\r\n<a href=\\\"www.itseceu.uk\\\" style=color:#FFFFFF;>www.itseceu.uk<\/a><br><\/p>","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>A solid overview of the Quarkus container-first framework for Java, and Spring Core Framework has a couple of new releases.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-322\" title=\"Java Weekly, Issue 322\">&gt;&gt;&gt;<\/a><\/p>\n<\/div>","protected":false},"author":214,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Java Weekly, Issue 322 - ITTeacherITFreelance.hk","description":"A solid overview of the Quarkus container-first framework for Java, and Spring Core Framework has a couple of new releases.&nbsp; &gt;&gt;&gt;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3393"}],"collection":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/214"}],"replies":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=3393"}],"version-history":[{"count":8,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3393\/revisions"}],"predecessor-version":[{"id":22489,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3393\/revisions\/22489"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=3393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=3393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=3393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}