{"id":326844,"date":"2022-12-26T14:20:44","date_gmt":"2022-12-26T14:20:44","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=151880"},"modified":"2022-12-26T14:20:44","modified_gmt":"2022-12-26T14:20:44","slug":"java-weekly-issue-470","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2022\/12\/26\/java-weekly-issue-470\/","title":{"rendered":"Java Weekly, Issue 470"},"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 style=\"text-align: left\" id=\"bd-spring-and-java\" data-id=\"spring-and-java\">1.<strong> Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java\"><\/div>\n<p><a href=\"https:\/\/dev.java\/learn\/pattern-matching\/\"><strong>&gt;&gt; Using Pattern Matching<\/strong><\/a>\u00a0[<span style=\"color: #800000\">dev.java<\/span>]<\/p>\n<p><strong>Complete guide to pattern matching in Java<\/strong>: instanceOf, guarded patterns, record patterns, enhanced for patterns, and more to dig into.<\/p>\n<p><strong><a id=\"article_title_link_35732092676\" class=\"article_title_link\" href=\"https:\/\/www.infoq.com\/articles\/graalvm-java-compilers-openjdk\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"  rel=\"noopener\">&gt;&gt; GraalVM Java Compilers Join OpenJDK in 2023, Align with OpenJDK Releases and Processes<\/a><\/strong> [<span style=\"color: #800000\">infoq.com<\/span>]<\/p>\n<p>An exciting plan to move some parts of<strong> GraalVM JIT and AOT to OpenJDK<\/strong> sometime in 2023!<\/p>\n<p><strong><a id=\"article_title_link_35736147304\" class=\"article_title_link\" href=\"https:\/\/vladmihalcea.com\/spring-mdc-transaction-logging\/\"  rel=\"noopener\">&gt;&gt; Spring MDC Transaction Logging<\/a><\/strong> [<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/p>\n<p>And, let&#8217;s see how we can configure <strong>Mapped Diagnostic Context or MDC for logging transactions<\/strong> in Spring.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><strong><a id=\"article_title_link_35736147304\" class=\"article_title_link\" href=\"https:\/\/vladmihalcea.com\/hibernate-types-hypersistence-utils\/\"  rel=\"noopener\">&gt;&gt; From Hibernate Types to Hypersistence Utils<\/a><\/strong>\u00a0[<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35721566476\" class=\"article_title_link\" href=\"https:\/\/blog.payara.fish\/what-is-jakarta-data\"  rel=\"noopener\">&gt;&gt; What Is Jakarta Data?<\/a><\/strong>\u00a0[<span style=\"color: #800000\">blog.payara.fish<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35721566476\" class=\"article_title_link\" href=\"https:\/\/donraab.medium.com\/connect-the-braces-6f3ed53beecd\"  rel=\"noopener\">&gt;&gt; Connect the Braces<\/a><\/strong>\u00a0[<span style=\"color: #800000\">donraab.medium.com<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35721566476\" class=\"article_title_link\" href=\"https:\/\/foojay.io\/today\/how-java-litters-beyond-the-heap-part-2-distributed-databases\/\"  rel=\"noopener\">&gt;&gt; How Java Litters Beyond the Heap: Part 2, Distributed Databases<\/a><\/strong> [<span style=\"color: #800000\">foojay.io<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35725864374\" class=\"article_title_link\" href=\"https:\/\/www.petrikainulainen.net\/programming\/testing\/introduction-to-dummies\/\"  rel=\"noopener\">&gt;&gt; Introduction to Dummies<\/a><\/strong> [<span style=\"color: #800000\">petrikainulainen.com<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35736052998\" class=\"article_title_link\" href=\"https:\/\/foojay.io\/today\/writing-a-profiler-from-scratch-introduction\/\"  rel=\"noopener\">&gt;&gt; Writing a Profiler from Scratch: Introduction<\/a><\/strong> [<span style=\"color: #800000\">foojay.io<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35736052998\" class=\"article_title_link\" href=\"https:\/\/joshlong.com\/jl\/blogpost\/github-action-export-java-version.html\"  rel=\"noopener\">&gt;&gt; A Github Action to export your project&#8217;s Java version as a variable<\/a><\/strong>\u00a0[<span style=\"color: #800000\">joshlong.com<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35745024216\" class=\"article_title_link\" href=\"https:\/\/foojay.io\/today\/spring-boot-annotation-reference-01-a\/\"  rel=\"noopener\">&gt;&gt; Spring Boot \u2013 Annotation Reference \u2013 01\/a<\/a><\/strong>\u00a0[<span style=\"color: #800000\">foojay.io<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><strong><a id=\"article_title_link_35742876670\" class=\"article_title_link\" href=\"https:\/\/inside.java\/2022\/12\/23\/podcast-028\/\"  rel=\"noopener\">&gt;&gt; Episode 28 \u201cJava Language &#8211; State of the Union\u201d<\/a><\/strong>\u00a0[<span style=\"color: #800000\">inside.java<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35750844341\" class=\"article_title_link\" href=\"https:\/\/spring.io\/blog\/2022\/12\/22\/a-bootiful-podcast-field-cto-and-chief-evangelist-at-gradle-justin-reock\"  rel=\"noopener\">&gt;&gt; A Bootiful Podcast: Field CTO and Chief Evangelist at Gradle Justin Reock<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35755777316\" class=\"article_title_link\" href=\"https:\/\/foojay.io\/today\/debugging-program-control-flow\/\"  rel=\"noopener\">&gt;&gt; Debugging Program Control Flow<\/a><\/strong> [<span style=\"color: #800000\">foojay.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=JVPHSdHViMg\"  rel=\"noopener\"><strong>&gt;&gt; 7 Awesome Libraries for Java Unit &#038; Integration Testing<\/strong><\/a>\u00a0[<span style=\"color: #800000\">marcobehler.com<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35794991094\" class=\"article_title_link\" href=\"https:\/\/blog.sebastian-daschner.com\/entries\/most-used-cli-commands\"  rel=\"noopener\">&gt;&gt; My Most Used CLI Commands<\/a>\u00a0<\/strong>[<span style=\"color: #800000\">blog.sebastian-daschner.com<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><strong><a id=\"article_title_link_35742503300\" class=\"article_title_link\" href=\"https:\/\/www.infoq.com\/news\/2022\/12\/spring-authorization-server-1-0\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"  rel=\"noopener\">&gt;&gt; Spring Authorization Server 1.0 Provides Oauth 2.1 and OpenID Connect 1.0 Implementations<\/a><\/strong> [<span style=\"color: #800000\">infoq.com<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35745024209\" class=\"article_title_link\" href=\"https:\/\/foojay.io\/today\/a-faster-way-to-build-react-spring-boot-apps-using-hilla-1-3\/\"  rel=\"noopener\">&gt;&gt; A Faster Way to Build React + Spring Boot Apps Using Hilla 1.3<\/a><\/strong> [<span style=\"color: #800000\">foojay.io<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/spring.io\/blog\/2022\/12\/22\/spring-boot-2-7-7-available-now\">&gt;&gt; Spring Boot 2.7.7. and<\/a> <a href=\"https:\/\/spring.io\/blog\/2022\/12\/22\/spring-boot-3-0-1-available-now\">3.0.1 available now<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35753978204\" class=\"article_title_link\" href=\"https:\/\/in.relation.to\/2022\/12\/22\/orm-62-cr1\/\"  rel=\"noopener\">&gt;&gt; Hibernate 6.2 CR1<\/a><\/strong> [<span style=\"color: #800000\">in.relation.to<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35761327894\" class=\"article_title_link\" href=\"https:\/\/spring.io\/blog\/2022\/12\/23\/spring-modulith-0-2-released\"  rel=\"noopener\">&gt;&gt; Spring Modulith 0.2 released<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/github.com\/quarkusio\/quarkus\/releases\/tag\/2.15.1.Final\"  rel=\"noopener\"><strong>&gt;&gt; Quarkus 2.15.1.Final<\/strong><\/a>\u00a0[<span style=\"color: #800000\">quarkus.io<\/span>]<\/li>\n<li><a href=\"https:\/\/github.com\/eclipse\/microprofile\/releases\/tag\/6.0\"  rel=\"noopener\"><strong>&gt;&gt; MicroProfile 6.0 Released<\/strong><\/a>\u00a0[<span style=\"color: #800000\">eclipse.org<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/github.com\/micronaut-projects\/micronaut-core\/releases\/tag\/v3.7.5\"  rel=\"noopener\">&gt;&gt; Micronaut Framework 3.7.5 Released<\/a>\u00a0<\/strong>[<span style=\"color: #800000\">micronaut.io<\/span>]<\/li>\n<li><a href=\"https:\/\/github.com\/helidon-io\/helidon\/releases\/tag\/3.1.0\"  rel=\"noopener\"><strong>&gt;&gt; Helidon 3.1.0 Released<\/strong><\/a>\u00a0[<span style=\"color: #800000\">helidon.io<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2022\/12\/intellij-idea-2022-3-1\/\"  rel=\"noopener\"><strong>&gt;&gt; IntelliJ IDEA 2022.3.1 is Out!<\/strong><\/a>\u00a0[<span style=\"color: #800000\">blog.jetbrains.com<\/span>]<\/li>\n<\/ul>\n<h2 id=\"bd-technical-amp-musings\" data-id=\"technical-amp-musings\"><strong>2. Technical &#038; Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-amp-musings\"><\/div>\n<p><strong><a id=\"article_title_link_35721966707\" class=\"article_title_link\" href=\"https:\/\/www.javaadvent.com\/2022\/12\/using-postgres-as-a-message-queue.html\"  rel=\"noopener\">&gt;&gt; Using Postgres As A Message Queue<\/a><\/strong> [<span style=\"color: #800000\">javaadvent.com<\/span>]<\/p>\n<p>Leveraging Postgres&#8217; notification mechanism to implement a simple, yet <strong>effective push-based queue<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><strong><a id=\"article_title_link_35757500214\" class=\"article_title_link\" href=\"https:\/\/event-driven.io\/en\/explicit_events_serialisation_in_event_sourcing\/\"  rel=\"noopener\">&gt;&gt; Explicit events serialisation in Event Sourcing<\/a><\/strong> [<span style=\"color: #800000\">event-driven.io<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35721966707\" class=\"article_title_link\" href=\"https:\/\/blog.codecentric.de\/architecture-docs-as-code-structurizr-asciidoctor-part-5-generating-documentation\"  rel=\"noopener\">&gt;&gt; Architecture docs as code with Structurizr &#038; Asciidoctor. Part 5: Generating documentation<\/a><\/strong> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35723296540\" class=\"article_title_link\" href=\"https:\/\/www.allthingsdistributed.com\/2022\/12\/an-album-for-each-year-2022.html\"  rel=\"noopener\">&gt;&gt; An album for each year &#8211; 2022 version<\/a><\/strong> [<span style=\"color: #800000\">allthingsdistributed.com<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35744552378\" class=\"article_title_link\" href=\"https:\/\/blog.codecentric.de\/aws-cloud-development-kit-infrastructure-as-code-on-steroids\"  rel=\"noopener\">&gt;&gt; AWS Cloud Development Kit \u2013 Infrastructure as Code on Steroids<\/a><\/strong> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/li>\n<li><strong><a id=\"article_title_link_35792507795\" class=\"article_title_link\" href=\"https:\/\/blog.thecodewhisperer.com\/permalink\/a-matter-of-interpretation-with-mock-objects\"  rel=\"noopener\">&gt;&gt; A Matter of Interpretation: Mock Objects<\/a>\u00a0<\/strong>[<span style=\"color: #800000\">blog.thecodewhisperer.com<\/span>]<\/li>\n<\/ul>\n<h2 id=\"bd-comics\" data-id=\"comics\"><strong>3. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics\"><\/div>\n<p><strong><a id=\"article_title_link_35757500214\" class=\"article_title_link\" href=\"https:\/\/dilbert.com\/strip\/2022-12-30\"  rel=\"noopener\">&gt;&gt; Dopamine And Working At Home<\/a><\/strong>\u00a0[<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><strong><a id=\"article_title_link_35757500214\" class=\"article_title_link\" href=\"https:\/\/dilbert.com\/strip\/2022-12-29\"  rel=\"noopener\">&gt;&gt; Better Company<\/a><\/strong>\u00a0[<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><strong><a id=\"article_title_link_35757500214\" class=\"article_title_link\" href=\"https:\/\/dilbert.com\/strip\/2022-12-28\"  rel=\"noopener\">&gt;&gt; Tina Is Sleepy<\/a><\/strong>\u00a0[<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<h2 id=\"bd-pick-of-the-week\" data-id=\"pick-of-the-week\"><strong>4. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week\"><\/div>\n<p><strong><a href=\"https:\/\/matthewtejo.substack.com\/p\/why-twitter-didnt-go-down-from-a\">&gt;&gt; Why Twitter Didn\u2019t Go Down: From a Real Twitter SRE<\/a> <\/strong>[<span style=\"color: #993300\">matthewtejo.substack.com<\/span>]<strong><br \/>\n<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Happy New Year <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f642.png\" alt=\"?\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<p>Eugen.<\/p>\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>Pattern matching, GraalVM into OpenJDK, transactional MDC, event sourcing, and Postgres as a Message Queue! \u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-470\" title=\"Java Weekly, Issue 470\" class=\"more\">&gt;&gt;&gt;<\/a><\/p>\n<\/div>","protected":false},"author":214,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Java Weekly, Issue 470 - ITTeacherITFreelance.hk","description":"Pattern matching, GraalVM into OpenJDK, transactional MDC, event sourcing, and Postgres as a Message Queue! \u00a0 &gt;&gt;&gt;"},"footnotes":""},"categories":[6,1307],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/326844"}],"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=326844"}],"version-history":[{"count":1,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/326844\/revisions"}],"predecessor-version":[{"id":326845,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/326844\/revisions\/326845"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=326844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=326844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=326844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}