{"id":145757,"date":"2019-06-25T15:23:45","date_gmt":"2019-06-25T07:23:45","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=55360"},"modified":"2019-06-25T15:23:45","modified_gmt":"2019-06-25T07:23:45","slug":"java-weekly-issue-287","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/06\/25\/java-weekly-issue-287\/","title":{"rendered":"Java Weekly, Issue 287"},"content":{"rendered":"<p><strong>Here we go\u2026<\/strong><\/p>\n<h2><strong>1. Spring and Java<\/strong><\/h2>\n<h4><a href=\"https:\/\/www.vojtechruzicka.com\/java-text-blocks\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Java 13 Text Blocks<\/strong><\/a> [<span style=\"color: #993300;\">vojtechruzicka.com<\/span>]<\/h4>\n<p>A first look at <strong>Multiline String Literals in JEP-355: Text Blocks (Preview)<\/strong>\u00a0\u2014 they&#8217;re not quite the same as the Raw String Literals of JEP-326, which has been withdrawn.<\/p>\n<h4><strong><a href=\"https:\/\/vladmihalcea.com\/jpa-hibernate-query-hints\/\"  rel=\"noopener noreferrer\">&gt;&gt; A beginner\u2019s guide to JPA and Hibernate query hints<\/a><\/strong> [<span style=\"color: #993300;\">vladmihalcea.com<\/span>]<\/h4>\n<p>A comprehensive list of JPA query hints available for <strong>customizing how queries are executed in Hibernate<\/strong>.<\/p>\n<h4><strong><a href=\"https:\/\/blog.frankel.ch\/exercises-programming-style\/7\/\"  rel=\"noopener noreferrer\">&gt;&gt; Exercises in Programming Style, back to Object-Oriented Programming<\/a><\/strong> [<span style=\"color: #993300;\">blog.frankel.ch<\/span>]<\/h4>\n<p>And this write-up on OOP discusses the trade-offs between type safety and the ability to adapt to changing requirements.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><strong><a href=\"http:\/\/blog.codefx.org\/java\/text-blocks\/\"  rel=\"noopener noreferrer\">&gt;&gt; Definite Guide To Text Blocks In Java 13<\/a><\/strong> [<span style=\"color: #993300;\">blog.codefx.org<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/blog.softwaremill.com\/how-monitoring-can-kill-your-spring-boot-application-performance-6acc1bad76f3\"  rel=\"noopener noreferrer\">&gt;&gt; How monitoring can kill your Spring Boot 1.x application performance<\/a><\/strong> [<span style=\"color: #993300;\">blog.softwaremill.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/alidg.me\/blog\/2019\/6\/21\/tlab-jvm\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Thread-Local Allocation Buffers in JVM<\/strong><\/a> [<span style=\"color: #993300;\">alidg.me<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"http:\/\/andresalmiray.com\/composite-builds-with-maven-and-gradle\/\"  rel=\"noopener noreferrer\">&gt;&gt; Composite builds with Maven and Gradle<\/a><\/strong> [<span style=\"color: #993300;\">andresalmiray.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h4><strong>Webinars and presentations:<\/strong><\/h4>\n<ul>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/19\/spring-tips-distributed-locks-with-spring-integration\"  rel=\"noopener noreferrer\">&gt;&gt; Spring Tips: Distributed Locks with Spring Integration<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/continuations-java\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=Java\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Why Continuations are Coming to Java<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=AeRm4_kCh8U\"  rel=\"noopener noreferrer\">&gt;&gt; Eclipse 2019-06 IDE Improvements: Java, Maven and Gradle<\/a><\/strong> [<span style=\"color: #993300;\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.tomitribe.com\/blog\/cve-2017-12617-tomcat-rce-via-jsp-upload-bypass\/\"  rel=\"noopener noreferrer\">&gt;&gt; Tomcat RCE Vulnerability via JSP Upload Bypass<\/a><\/strong> [<span style=\"color: #993300;\">tomitribe.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h4><strong>Time to upgrade:<\/strong><\/h4>\n<ul>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/19\/cve-2019-11272-spring-security-4-2-13-released\"  rel=\"noopener noreferrer\">&gt;&gt; CVE-2019-11272: Spring Security 4.2.13 Released<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/19\/spring-boot-2-1-6-released\"  rel=\"noopener noreferrer\">&gt;&gt; Spring Boot 2.1.6 released<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>] and <strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/19\/spring-boot-2-2-0-m4\"  rel=\"noopener noreferrer\">&gt;&gt; Spring Boot 2.2.0.M4<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/21\/spring-tools-4-3-0-released\"  rel=\"noopener noreferrer\">&gt;&gt; Spring Tools 4.3.0 released<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>] and <strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/20\/spring-tool-suite-3-9-9-released\"  rel=\"noopener noreferrer\">&gt;&gt; Spring Tool Suite 3.9.9 released<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/17\/spring-session-for-apache-geode-pivotal-gemfire-2-1-4-release-2-2-0-m2-available\"  rel=\"noopener noreferrer\">&gt;&gt; Spring Session for Apache Geode &amp; Pivotal GemFire 2.1.4.RELEASE &amp; 2.2.0.M2 Available<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/06\/19\/java-cfenv-1-1-ga-released\"  rel=\"noopener noreferrer\">&gt;&gt; Java CFEnv 1.1 GA Released<\/a><\/strong> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>2. Technical and Musing<\/strong><\/h2>\n<h4><strong><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/06\/resilience-design-patterns-retry-fallback-timeout-circuit-breaker\/\"  rel=\"noopener noreferrer\">&gt;&gt; Resilience design patterns: retry, fallback, timeout, circuit breaker<\/a><\/strong> [<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<p>An overview of four <strong>patterns for achieving loose coupling, isolation, latency control, and supervision<\/strong> \u2014 all of which can positively impact system resilience.<\/p>\n<h4><strong><a href=\"https:\/\/advancedweb.hu\/2019\/06\/25\/put_signed_urls\/\"  rel=\"noopener noreferrer\">&gt;&gt; How to use S3 PUT signed URLs<\/a><\/strong> [<span style=\"color: #993300;\">advancedweb.hu<\/span>]<\/h4>\n<p>And the series continues with <strong>AWS file uploads using the PUT operation<\/strong>, which comes with its own set of security considerations.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><strong><a href=\"\"  rel=\"noopener noreferrer\">&gt;&gt; Setting up a flexible Kubernetes environment<\/a><\/strong> [<span style=\"color: #993300;\">blog.sourced-bvba.be<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/06\/compose-your-business-platform-using-the-api-led-connectivity-approach\/\"  rel=\"noopener noreferrer\">&gt;&gt; Compose your business platform using the API-led connectivity approach<\/a><\/strong> [<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.allthingsdistributed.com\/2019\/05\/proving-security-at-scale-with-automated-reasoning.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Proving security at scale with automated reasoning<\/strong><\/a> [<span style=\"color: #993300;\">allthingsdistributed.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/06\/ai-%E2%80%A8turing-test-human-like-intelligence-machines\/\"  rel=\"noopener noreferrer\">&gt;&gt; How to define AI? \u2013 Using the Turing Test to measure human-like intelligence in machines<\/a><\/strong> [<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>3. Comics<\/strong><\/h2>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2019-06-26\"  rel=\"noopener noreferrer\">&gt;&gt; Jargon Poisoning<\/a><\/strong> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2019-06-24\"  rel=\"noopener noreferrer\">&gt;&gt; How to Reduce Turnover<\/a><\/strong> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2019-06-20\"  rel=\"noopener noreferrer\">&gt;&gt; Employee Engagement<\/a><\/strong> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h2><strong>4. Pick of the Week<\/strong><\/h2>\n<p>Haven&#8217;t picked DataDog in a while:<\/p>\n<h4><strong><a href=\"https:\/\/www.baeldung.com\/datadog\">&gt;&gt; Use DataDog to monitor and troubleshoot your Java web applications <\/a><\/strong>\u00a0<\/h4>\n<p>Basically, a really solid end-to-end way to monitor your application, with full support for pretty much anything Java.<\/p>\n<p><strong><a href=\"https:\/\/www.baeldung.com\/datadog\">You can use their trial here<\/a>.<\/strong><\/p>\n<p><span style=\"font-weight: 400;\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A couple of write-ups on the JEP-355 Text Blocks preview proposal for Multiline String Literals in Java 13, and an introduction to JPA\/Hibernate query hints.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-287\" title=\"Java Weekly, Issue 287\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/06\/25\/java-weekly-issue-287\/\">\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":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[2,315,5969,3665,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-BUV","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/145757"}],"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=145757"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/145757\/revisions"}],"predecessor-version":[{"id":158840,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/145757\/revisions\/158840"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=145757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=145757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=145757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}