{"id":102659,"date":"2019-03-06T02:25:00","date_gmt":"2019-03-05T18:25:00","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=50613"},"modified":"2019-03-06T02:25:00","modified_gmt":"2019-03-05T18:25:00","slug":"java-weekly-issue-271","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/03\/06\/java-weekly-issue-271\/","title":{"rendered":"Java Weekly, Issue 271"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><strong>Here we go\u2026<\/strong><\/p>\n<h2><strong>1. Spring and Java<\/strong><\/h2>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/03\/jep-343-jpackage?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Building Self-Contained, Installable Java Applications With JEP 343: Packaging Tool<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<p>A sneak peek at an <strong>early access build of the <em>jpackage<\/em> tool<\/strong> from the OpenJDK community, set to be released with JDK 13. Very cool.<\/p>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/03\/06\/flight-of-the-flux-1-assembly-vs-subscription\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Flight of the Flux 1 &#8211; Assembly vs Subscription<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<p>The first installment in a new series that aims to provide <strong>a deeper look into Reactor&#8217;s advanced concepts and inner workings<\/strong>.<\/p>\n<h4><strong><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/03\/spot-mismatches-between-your-spec-and-your-rest-api\/\"  rel=\"noopener noreferrer\">&gt;&gt; Spot mismatches between your spec and your REST-API with hikaku<\/a> <\/strong>[<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<p>If you build REST APIs contract-first, but without code generation, you&#8217;ll want to check out this new library for <strong>verifying the structural correctness of your REST API implementation<\/strong>, according to your OpenAPI 3.0 or WADL specification.<\/p>\n<h4><a href=\"https:\/\/vladmihalcea.com\/jpa-persist-merge-hibernate-save-update-saveorupdate\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How do JPA persist, merge and Hibernate save, update, saveOrUpdate methods work<\/strong><\/a> [<span style=\"color: #993300;\">vladmihalcea.com<\/span>]<\/h4>\n<p>A quick, under-the-covers <strong>comparison of JPA and Hibernate persistence operations<\/strong> reveals the best approach for common use cases.<\/p>\n<h4><a href=\"https:\/\/www.tomitribe.com\/blog\/its-easy-debugging-with-intellij-and-tomee\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; It\u2019s Easy! Debugging with IntelliJ and TomEE<\/strong><\/a> [<span style=\"color: #993300;\">tomitribe.com<\/span>]<\/h4>\n<p>And a follow-up to last week&#8217;s tutorial on remote debugging TomEE apps with Eclipse, this time for IntelliJ users.<\/p>\n<h4><strong><a href=\"https:\/\/medium.com\/@javachampions\/java-is-still-free-2-0-0-6b9aa8d6d244\">&gt;&gt; Java is Still Free 2.0.1<\/a> <\/strong>[<span style=\"color: #993300;\">medium.com<\/span>]<\/h4>\n<p>A detailed, updated look at how Java is still very much free today.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><strong><a href=\"https:\/\/www.nurkiewicz.com\/2019\/03\/mapmerge-one-method-to-rule-them-all.html\">&gt;&gt; Map.merge() &#8211; One method to rule them all<\/a> <\/strong>[<span style=\"color: #993300;\">nurkiewicz.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/03\/05\/spring-initializr-new-ui\"  rel=\"noopener noreferrer\">&gt;&gt; Spring Initializr: new UI<\/a> <\/strong>[<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/java-streams-state\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Java streams and state<\/strong><\/a> [<span style=\"color: #993300;\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/03\/azure-functions-java-support-ga?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Microsoft Announces the General Availability of Java Support in Azure Functions<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/vladmihalcea.com\/jpa-entity-version-property-hibernate\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How does the entity version property work when using JPA and Hibernate<\/strong><\/a> [<span style=\"color: #993300;\">vladmihalcea.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/02\/how-to-package-your-frontend-in-a-spring-boot-app-with-parceljs\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How to package your frontend in a Spring Boot App with ParcelJS<\/strong><\/a> [<span style=\"color: #993300;\">blog.codecentric.de<\/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\/2019\/03\/01\/reactor-project-lead-st-phane-maldini\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Reactor project lead St\u00e9phane Maldini (podcast)<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/mongodb-sessions-streams-transactions?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Next Generation MongoDB: Sessions, Streams, Transactions<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/bulkheads-backpressure-microprofile\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Applying Bulkheads And Backpressure using MicroProfile (Video)<\/strong><\/a> [<span style=\"color: #993300;\">blog.sebastian-daschner.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/failure-cache-redis-pcc-hazelcast?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Enterprise Systems Built with Microservices are Designed to Expect Failures, But Then What? How Do We Handle Failures?<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/architecting-transactional-system?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Achieving High Throughput with Reliability in Transactional Systems<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/formal-verification-vehicles?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; From Quadcopters to Helicopters: Formal Verification for Safer Vehicles<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/strategies-safer-platforms?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Design Strategies for Building Safer Platforms<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/learning-style?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Teaching TDD to Different Learning Styles<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/seattle-parks?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Community Centered Tech for Social Good<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h4><strong>Time to upgrade:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/03\/amazon-releases-corretto-8?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"><strong>&gt;&gt; Amazon Releases Corretto 8 GA: A Downstream Distribution of OpenJDK<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/02\/27\/spring-vault-2-1-2-release-available\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Vault 2.1.2.RELEASE available<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/03\/04\/java-cfenv-1-0-ga-released\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; java-cfenv 1.0 GA Released<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>2. Technical and Musings<\/strong><\/h2>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/monitor-workflow-collaborating-microservices?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Monitoring and Managing Workflows across Collaborating Microservices<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<p>A survey of <strong>various ways to gain insight into your business processes <\/strong>via workflow monitoring.<\/p>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2019\/03\/04\/retroactively-applying-prettier-to-existing-branches.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Retroactively applying Prettier formatting changes to existing branches<\/strong><\/a> [<span style=\"color: #993300;\">blog.scottlogic.com<\/span>]<\/h4>\n<p>And a clever git command for <strong>handling merges after a formatting policy change<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/crafting-resilient-culture?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Crafting a Resilient Culture: Or, How to Survive an Accidental Mid-Day Production Incident<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/martinfowler.com\/bliki\/LockInCost.html\">&gt;&gt; LockInCost<\/a> <\/strong>[<span style=\"color: #993300;\">martinfowler.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/matthiasnehlsen.com\/blog\/2019\/02\/28\/meins-intro\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Building an intelligent journal in Clojure, Part 1<\/strong><\/a> [<span style=\"color: #993300;\">matthiasnehlsen.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/medium.com\/@NetflixTechBlog\/mezzfs-mounting-object-storage-in-netflixs-media-processing-platform-cda01c446ba\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; MezzFS \u2014 Mounting object storage in Netflix\u2019s media processing platform<\/strong><\/a> [<span style=\"color: #993300;\">medium.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>3. Comics<\/strong><\/h2>\n<h4>And my favorite Dilberts of the week:<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-03-04\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Dilbert and Brainwashing<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-02-28\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Mandatory Training<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-03-03\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Simulated World Made Entirely of Software<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h2><strong>4. Pick of the Week<\/strong><\/h2>\n<h4><strong><a href=\"https:\/\/markmanson.net\/self-discipline-youre-doing-it-wrong\">&gt;&gt; If Self-Discipline Feels Difficult, Then You&#8217;re Doing It Wrong<\/a> <\/strong>[<span style=\"color: #993300;\">markmanson.net<\/span>]<\/h4>\n<p><span style=\"font-weight: 400;\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>An early look at the JEP 343 Packaging Tool that&#8217;s due in JDK 13, and a new series on Reactor&#8217;s advanced concepts takes a deep dive into its inner workings.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-271\" title=\"Java Weekly, Issue 271\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/03\/06\/java-weekly-issue-271\/\">\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-qHN","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/102659"}],"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=102659"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/102659\/revisions"}],"predecessor-version":[{"id":102751,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/102659\/revisions\/102751"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=102659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=102659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=102659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}