{"id":168758,"date":"2019-10-17T12:22:18","date_gmt":"2019-10-17T04:22:18","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=61474"},"modified":"2019-10-17T12:22:18","modified_gmt":"2019-10-17T04:22:18","slug":"java-weekly-issue-303","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/10\/17\/java-weekly-issue-303\/","title":{"rendered":"Java Weekly, Issue 303"},"content":{"rendered":"<h2 data-id=\"spring-and-java\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java\"><\/div>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/10\/15\/simple-event-driven-microservices-with-spring-cloud-stream\">&gt;&gt; <strong>Simple Event Driven Microservices with Spring Cloud Stream<\/strong><\/a>\u00a0[<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<p>A good set of abstractions to help you <strong>eliminate boilerplate from your messaging code<\/strong>.<\/p>\n<h4><a href=\"https:\/\/vladmihalcea.com\/sql-server-json-hibernate\/\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; How to map SQL Server JSON columns using JPA and Hibernate<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\">\u00a0[<\/span><span class=\"t-bg-white l-pa2 l-d-i\" style=\"color: #993300;\">vladmihalcea.com<\/span><span class=\"t-bg-white l-pa2 l-d-i\">]<\/span><\/h4>\n<p>A quick look at <strong>the <em>JsonStringType<\/em> <a href=\"http:\/\/itteacheritfreelance.hk\/index.php\" title=\"\u672c\u7db1\u9801\u63d0\u4f9b\u4e00\u500b\u65b9\u4fbf\u7684\u5e73\u53f0, \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b , PHP\u88dc\u7fd2, HTML\u88dc\u7fd2, CSS\u88dc\u7fd2, JavaScript\u88dc\u7fd2, XML, Java\u88dc\u7fd2,Server\u88dc\u7fd2, MySQL\u88dc\u7fd2, \u4e2d\u5b78\u96fb\u8166\u79d1\u79c1\u4eba\u88dc\u7fd2, \u5728\u8077\u4eba\u58eb\u96fb\u8166\u63d0\u5347\u88dc\u7fd2,\u5c08\u696d\u8003\u8a66\u96fb\u8166 \u88dc\u7fd2,\u96fb\u8166\u5716\u50cf\u8a2d\u8a08\u96fb\u8166\u88dc\u7fd2, gra\">class<\/a><\/strong> available in the hibernate-types project.<\/p>\n<h4><a href=\"https:\/\/blog.frankel.ch\/migrating-serviceloader-java-9-module-system\/\">&gt;&gt; <strong>Migrating the ServiceLoader to the Java 9 module system<\/strong><\/a> [<span style=\"color: #993300;\">blog.frankel.ch<\/span>]<\/h4>\n<p>And a nice example of how to <strong>decouple an API from implementation using the JPMS<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/10\/14\/spring-cloud-stream-demystified-and-simplified\"><strong>&gt;&gt; Spring Cloud Stream &#8211; demystified and simplified<\/strong><\/a>\u00a0[<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li><a href=\"https:\/\/phauer.com\/2019\/no-fat-jar-in-docker-image\/\"><strong>&gt;&gt; Don&#8217;t Put Fat Jars in Docker Images<\/strong><\/a><strong>\u00a0<\/strong>[<span style=\"color: #993300;\">phauer.com<\/span>]<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/vard-lokkur.blogspot.com\/2019\/10\/spring-mvc-http-message-converter.html\">&gt;&gt; Spring MVC &#8211; HTTP message converter<\/a><\/strong> [<span style=\"color: #993300;\">vard-lokkur.blogspot.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/10\/open-liberty-19-0-0-9\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\">&gt;&gt; <strong>Release of Open Liberty 19.0.0.9 Completes Support of MicroProfile Standalone Reactive Streams APIs<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/10\/jakarta-nosql\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Introducing Jakarta NoSQL<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/rieckpil.de\/review-whats-new-in-microprofile-3-1\/\">&gt;&gt; What\u2019s new in MicroProfile 3.1<\/a> <\/strong>[<span style=\"color: #993300;\">rieckpil.de<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2019\/10\/14\/spring-initializr-0-8-0-available-now\"><strong>&gt;&gt; Spring Initializr 0.8.0 available now<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/li>\n<\/ul>\n<h4><strong>Webinars and presentations:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/10\/11\/a-bootiful-podcast-spring-mad-scientist-andy-clement-on-aspectj-spel-eclipse-graal-and-more\">&gt;&gt; A Bootiful Podcast: Spring mad scientist Andy Clement on AspectJ, SpEL, Eclipse, Graal and more<\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical-and-musings\"><strong>2. Technical and Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-and-musings\"><\/div>\n<h4><a href=\"https:\/\/medium.com\/netflix-techblog\/delta-a-data-synchronization-and-enrichment-platform-e82c36a79aee\"><strong>&gt;&gt; Delta: A Data Synchronization and Enrichment Platform<\/strong><\/a> [<span style=\"color: #993300;\">medium.com<\/span>]<\/h4>\n<p>A cool new platform from Netflix for <strong>multi-datastore synchronization<\/strong>.<\/p>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/10\/ddd-vs-anemic-domain-models\/\"><strong>&gt;&gt;\u00a0DDDs. v Anemic Domain Models (Martin Fowler)<\/strong><\/a> [<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<p>Now that ORM tools have improved considerably, maybe it&#8217;s time to revisit whether there&#8217;s a place for the anemic domain model.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.mnot.net\/blog\/2019\/10\/13\/h2_api_multiplexing\"><strong>&gt;&gt; How Multiplexing Changes Your HTTP APIs<\/strong><\/a> [<span style=\"color: #993300;\">mnot.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/blog.christianposta.com\/challenges-of-adopting-service-mesh-in-enterprise-organizations\/\">&gt;&gt; Challenges of Adopting Service Mesh in Enterprise Organizations<\/a> <\/strong>[<span style=\"color: #993300;\">christianposta.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/10\/aws-cdk-part-2-s3-bucket\/\"><strong>&gt;&gt; AWS CDK Part 2: How to create an S3 Bucket<\/strong><\/a>\u00a0[<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/10\/facebook-ai-code-search\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\">&gt;&gt; <strong>Facebook Releases AI Code Search Datasets<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/daedtech.com\/get-hired-without-process-or-competition-its-not-as-hard-as-you-think\/\">&gt;&gt; <strong>Get Hired without Process or Competition? Its Not as Hard as You Think<\/strong><\/a>\u00a0[<span style=\"color: #993300;\">daedtech.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"comics\"><strong>3. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-10-11\"><strong>&gt;&gt;\u00a0Lack of Strategy<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-10-12\"><strong>&gt;&gt;\u00a0Dogbert Designed the Simulation<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-10-16\"><strong>&gt;&gt;\u00a0Slippery Slope<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h2 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>This makes more sense as the pick of this week <img decoding=\"async\" src=\"https:\/\/i0.wp.com\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/1f642.png?w=640&#038;ssl=1\" alt=\"?\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" data-recalc-dims=\"1\" \/> &#8211; Boot 2.2 is out:<\/p>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/10\/16\/spring-boot-2-2-0\">&gt;&gt; Spring Boot 2.2.0<\/a> <\/strong>[<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>A couple of good intro articles on Spring Cloud Stream, and a promising new data synchronization platform from Netflix. Plus, Boot 2.2.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-303\" title=\"Java Weekly, Issue 303\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/10\/17\/java-weekly-issue-303\/\">\u95b1\u8b80\u5168\u6587 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":142,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"slim_seo":[],"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[2,315,2149,7],"tags":[398,402,397,414,413,410,409,407,408,11,406,399,400,394,318,375,558,560,555,561,553,554,562,524,10,401,396,381,403,412,411,395,405,404,457,454,316],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p7prtj-HTU","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/168758"}],"collection":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/users\/142"}],"replies":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/comments?post=168758"}],"version-history":[{"count":13,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/168758\/revisions"}],"predecessor-version":[{"id":197274,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/168758\/revisions\/197274"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=168758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=168758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=168758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}