{"id":316670,"date":"2022-11-25T13:41:17","date_gmt":"2022-11-25T13:41:17","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=149272"},"modified":"2022-11-25T13:41:17","modified_gmt":"2022-11-25T13:41:17","slug":"java-weekly-issue-465","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2022\/11\/25\/java-weekly-issue-465\/","title":{"rendered":"Java Weekly, Issue 465"},"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:\/\/vladmihalcea.com\/spring-6-migration\/\"  rel=\"noopener\"><strong>&gt;&gt; The best way to do the Spring 6 migration<\/strong><\/a> [<span style=\"color: #800000;\">vladmihalcea.com<\/span>]<\/p>\n<p>Getting the persistence-focused benefits of <strong>migrating to Spring 6<\/strong>: Java 17, JPA 3.1, new JPQL functions, JDBC optimizations, and more to explore<\/p>\n<p><a href=\"https:\/\/quarkus.io\/blog\/our-bumpy-road-to-jakarta-ee-10\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Our (bumpy) road to Jakarta EE 10<\/b><\/strong><\/a>\u00a0[<span style=\"color: #800000;\">quarkus.io<\/span>]<\/p>\n<p>The interesting story of how Quarkus will approach the migration to <strong>Jakarta EE 9 and 10<\/strong><\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/blog.payara.fish\/what-is-an-application-server-jakarta-ee\"  rel=\"noopener\"><strong><b>&gt;&gt; What is An Application Server? In 3 Minutes<\/b><\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.payara.fish<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/11\/how-kotlin-is-going-to-fix-your-pains-in-2023\/\"  rel=\"noopener\"><strong><b>&gt;&gt; How Kotlin Is Going To Fix Your Pains in 2023<\/b><\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.jetbrains.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2022\/11\/apache-commons-vulnerability\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Upgrade to Apache Commons Text 1.10 to Avoid New Exploit<\/b><\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/kotlin-on-the-raspberrypi-pi4j-kotlin\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Kotlin on the RaspberryPi (Pi4J-Kotlin)<\/b><\/strong><\/a> [<span style=\"color: #800000;\">foojay.io<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2022\/11\/21\/jshell-java-source-browser\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Using the JShell API to implement a Java Source Browser<\/b><\/strong><\/a> [<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/capitalize-titles\"  rel=\"noopener\"><strong><b>&gt;&gt; Capitalize English Titles With Java, Quarkus &#038; GraalVM<\/b><\/strong><\/a> [<span style=\"color: #800000;\">blog.sebastian-daschner.com<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/youtu.be\/72Dt_U9DQh4\"  rel=\"noopener\"><strong>&gt;&gt; How to Build a Text Editor With Java &#8211; Part 3<\/strong><\/a> [<span style=\"color: #800000;\">youtube.com\/@MarcoCodes<\/span>]<\/li>\n<li><a href=\"https:\/\/youtu.be\/TOfYlLjXufw\"  rel=\"noopener\"><strong>&gt;&gt; Spring Tips: the road to Spring Boot 3: ahead-of-time compilation and GraalVM<\/strong><\/a> [<span style=\"color: #800000;\">youtube.com\/@SpringSourceDev<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/17\/a-bootiful-podcast-java-champion-legendary-engineer-and-teacher-trisha-gee\"  rel=\"noopener\"><strong><b>&gt;&gt; A Bootiful Podcast: Java Champion, legendary engineer, and teacher Trisha Gee<\/b><\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2022\/11\/18\/podcast-027\/\"  rel=\"noopener\"><strong>&gt;&gt; Episode 27 \u201cJavaFX\u201d<\/strong><\/a> [<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-7\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Foojay Podcast #7: Security in Java, what do we need to know and how to keep our applications secure?<\/b><\/strong><\/a> [<span style=\"color: #800000;\">foojay.io<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2022\/11\/17\/insidejava-newscast-037\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Generational ZGC &#8211; Inside Java Newscast #37<\/b><\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/21\/spring-security-5-8-and-6-0-are-now-ga\"  rel=\"noopener\"><strong><b>&gt;&gt; Spring Security 5.8 and 6.0 are now GA<\/b><\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/23\/spring-framework-6-0-1-available-now\"  rel=\"noopener\"><strong>&gt;&gt; Spring Framework 6.0.1 available now<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/23\/spring-for-graphql-1-1-0-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring for GraphQL 1.1.0 released<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/22\/spring-authorization-server-1-0-is-now-ga\"  rel=\"noopener\"><strong>&gt;&gt; Spring Authorization Server 1.0 is now GA<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/21\/spring-web-services-4-0-0-is-now-ga\"  rel=\"noopener\"><strong>&gt;&gt; Spring Web Services 4.0.0 is now GA<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/18\/spring-data-2022-0-goes-ga\"  rel=\"noopener\"><strong><b>&gt;&gt; Spring Data 2022.0 goes GA<\/b><\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/21\/spring-rest-docs-3-0-0\"  rel=\"noopener\"><strong>&gt;&gt; Spring REST Docs 3.0.0<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2022\/11\/intellij-idea-2022-2-4\/\"  rel=\"noopener\"><strong>&gt;&gt; IntelliJ IDEA 2022.2.4 Is Out!<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.jetbrains.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/8.5\/release-notes-8.5.2.html\"  rel=\"noopener\"><strong>&gt;&gt; Elasticsearch 8.5.2 released<\/strong><\/a> [<span style=\"color: #800000;\">elastic.co<\/span>]<\/li>\n<li><a href=\"https:\/\/micronaut.io\/2022\/11\/17\/micronaut-framework-3-7-4-released\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Micronaut Framework 3.7.4 Released!<\/b><\/strong><\/a> [<span style=\"color: #800000;\">micronaut.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.elastic.co\/blog\/elastic-stack-8-5-1-released\"  rel=\"noopener\"><strong><b>&gt;&gt; Elastic Stack 8.5.1 released<\/b><\/strong><\/a> [<span style=\"color: #800000;\">elastic.co<\/span>]<\/li>\n<li><a href=\"https:\/\/vertx.io\/blog\/eclipse-vert-x-4-3-5\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Eclipse Vert.x 4.3.5 released!<\/b><\/strong><\/a> [<span style=\"color: #800000;\">vertx.io<\/span>]<\/li>\n<li><a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-14-1-final-released\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Quarkus 2.14.1.Final released<\/b><\/strong><\/a> [<span style=\"color: #800000;\">quarkus.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/17\/spring-modulith-0-1-rc1-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring Modulith 0.1 RC1 released<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/21\/new-major-releases-of-spring-for-apache-kafka-and-spring-for-rabbitmq\"  rel=\"noopener\"><strong><b>&gt;&gt; New Major Releases of Spring for Apache Kafka and Spring for RabbitMQ<\/b><\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2022\/11\/18\/spring-cloud-2022-0-0-release-candidate-2-codename-kilburn-has-been-released\"  rel=\"noopener\"><strong><b>&gt;&gt; Spring Cloud 2022.0.0 Release Candidate 2 (codename Kilburn) Has Been Released<\/b><\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/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><a href=\"https:\/\/blog.frankel.ch\/poor-man-api\/\"  rel=\"noopener\"><strong><b>&gt;&gt; A poor man&#8217;s API<\/b><\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/p>\n<p>A way to do rapid prototyping of REST APIs \u2013 <strong>let&#8217;s turn our database schema into an API<\/strong>. Not ideal for the long run, of course.<\/p>\n<p><a href=\"https:\/\/event-driven.io\/en\/how_to_get_all_messages_through_postgres_logical_replication\/\"  rel=\"noopener\"><strong><b>&gt;&gt; How to get all messages through Postgres logical replication<\/b><\/strong><\/a> [<span style=\"color: #800000;\">event-driven.io<\/span>]<\/p>\n<p>A practical guide on how to utilize <strong>logical replication to get notified of each change in the database<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/martinfowler.com\/articles\/bottlenecks-of-scaleups\/etsy-cloud-scale.html\"  rel=\"noopener\"><strong><b>&gt;&gt; Using the cloud to scale Etsy<\/b><\/strong><\/a> [<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2022\/11\/lambda-telemetry-api\/\"  rel=\"noopener\"><strong>&gt;&gt; AWS Lambda Telemetry API Provides Enhanced Observability Data<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/how-to-use-appsync-enhanced-subscription-filtering\/\"  rel=\"noopener\"><strong>&gt;&gt; How to use AppSync enhanced subscription filtering<\/strong><\/a> [<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/li>\n<li><a href=\"https:\/\/lucumr.pocoo.org\/2022\/11\/23\/stack-tokens\/\"  rel=\"noopener\"><strong>&gt;&gt; A Better Way to Borrow in Rust: Stack Tokens<\/strong><\/a> [<span style=\"color: #800000;\">lucumr.pocoo.org<\/span>]<\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/internal-security-hardening-internal-systems\/\"  rel=\"noopener\"><strong><b>&gt;&gt; Internal Security: Hardening Internal Systems<\/b><\/strong><\/a> [<span style=\"color: #800000;\">foojay.io<\/span>]<\/li>\n<li><a href=\"https:\/\/nurkiewicz.com\/91\"  rel=\"noopener\"><strong><b>&gt;&gt; #91: Asynchronous communication: loose coupling in distributed systems<\/b><\/strong><\/a> [<span style=\"color: #800000;\">nurkiewicz.com<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.com\/match-cutting-at-netflix-finding-cuts-with-smooth-visual-transitions-31c3fc14ae59\"  rel=\"noopener\"><strong><b>&gt;&gt; Match Cutting at Netflix: Finding Cuts with Smooth Visual Transitions<\/b><\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.codecentric.de\/my-keycloak-learning-journey\"  rel=\"noopener\"><strong>&gt;&gt; My Keycloak learning journey<\/strong><\/a> [<span style=\"color: #800000;\">blog.codecentric.de<\/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><a href=\"https:\/\/dilbert.com\/strip\/2022-11-24\"><strong>&gt;&gt; Bad Analogy<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2022-11-23\"><strong>&gt;&gt; Answering Emails <\/strong><\/a>[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2022-11-21\"><strong>&gt;&gt; Pill To See Reality<\/strong><\/a>\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>I&#8217;m running our very first Black Friday event this year:<\/p>\n<h3 id=\"bd-gtgt-black-friday-pricing---for-all-my-courses\" data-id=\"gtgt-black-friday-pricing---for-all-my-courses\"><a href=\"https:\/\/www.baeldung.com\/black-friday-jw\"><strong>&gt;&gt; Black Friday Pricing &#8211; for all my courses<\/strong><\/a><\/h3>\n<div class=\"bd-anchor\" id=\"gtgt-black-friday-pricing---for-all-my-courses\"><\/div>\n<p>If you&#8217;ve been holding off from getting a course, now is a good point to enroll.<\/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>Spring 6, Quarkus Jakarta EE migration, Kotlin on RaspberryPi, REST API over database schema, and logical replication.\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-465\" title=\"Java Weekly, Issue 465\" 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 465 - ITTeacherITFreelance.hk","description":"Spring 6, Quarkus Jakarta EE migration, Kotlin on RaspberryPi, REST API over database schema, and logical replication.\u00a0 &gt;&gt;&gt;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/316670"}],"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=316670"}],"version-history":[{"count":4,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/316670\/revisions"}],"predecessor-version":[{"id":325055,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/316670\/revisions\/325055"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=316670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=316670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=316670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}