{"id":179463,"date":"2019-11-28T17:22:44","date_gmt":"2019-11-28T09:22:44","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=65451"},"modified":"2019-11-28T17:22:44","modified_gmt":"2019-11-28T09:22:44","slug":"java-weekly-issue-309","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/11\/28\/java-weekly-issue-309\/","title":{"rendered":"Java Weekly, Issue 309"},"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\/11\/21\/spring-security-lambda-dsl\"><strong>&gt;&gt; Spring Security &#8211; Lambda DSL<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<p>The new configuration style, <strong>introduced with Spring Security 5.2<\/strong>, will look familiar if you&#8217;ve used the DSL for Spring Cloud Gateway or Spring Integration.<\/p>\n<h4><a href=\"https:\/\/tomitribe.com\/blog\/configuring-jdbc-in-tomee\/\"><strong>&gt;&gt; Configuring JDBC in TomEE<\/strong><\/a> [<span style=\"color: #800000;\">tomitribe.com<\/span>]<\/h4>\n<p>A good write-up that shows how to <strong>configure a JDBC data source server-wide or for a specific web app<\/strong>.<\/p>\n<h4><a href=\"https:\/\/codemonkeyism.co.uk\/securing-ejbs-with-ssl-on-wildfly-18\/\"><strong>&gt;&gt; Securing EJBs with SSL on Wildfly 18<\/strong><\/a> [<span style=\"color: #800000;\">codemonkeyism.co.uk<\/span>]<\/h4>\n<p>And a quick guide to configuring SSL for EJB connections <strong>using Elytron, Wildfly&#8217;s new security framework<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/11\/jfr-openjdk-8\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Low Latency Profiling Now Available in Java 8<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/marxsoftware.blogspot.com\/2019\/11\/jdk14-records-textblocks-pattermatching.html\"><strong>&gt;&gt; JDK 14: Records, Text Blocks, and More<\/strong><\/a> [<span style=\"color: #800000;\">marxsoftware.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.javaspecialists.eu\/archive\/Issue274.html\"><strong>&gt;&gt; EnhancedStream<\/strong><\/a> [<span style=\"color: #800000;\">javaspecialists.eu<\/span>] and <a href=\"https:\/\/www.javaspecialists.eu\/archive\/Issue275.html\"><strong>&gt;&gt; EnhancedStream with Dynamic Proxy<\/strong><\/a> [<span style=\"color: #800000;\">javaspecialists.eu<\/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\/11\/22\/a-bootiful-podcast-spring-security-engineer-ria-stein\"><strong>&gt;&gt; A Bootiful Podcast: Spring Security engineer Ria Stein<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=k4vkd0ahWjQ\"><strong>&gt;&gt; A New Age of JVM Garbage Collectors &#8211; Alexander Yakushev<\/strong><\/a> [<span style=\"color: #800000;\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=A_B7owR94XY\"><strong>&gt;&gt; The Most Popular Programming Languages (Tiobe Index) 2001 &#8211; 2019<\/strong><\/a> [<span style=\"color: #800000;\">youtube.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/11\/21\/spring-tools-4-4-2-released\"><strong>&gt;&gt; Spring Tools 4.4.2 released<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/11\/25\/spring-cloud-task-2-2-1-ga-is-now-available\"><strong>&gt;&gt; Spring Cloud Task 2.2.1 GA is now available<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/11\/25\/announcing-the-release-of-spring-cloud-stream-horsham-3-0-0-release\"><strong>&gt;&gt; Announcing the release of Spring Cloud Stream Horsham (3.0.0.RELEASE)<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/11\/25\/announcing-the-release-of-spring-cloud-function-3-0-0-release\"><strong>&gt;&gt; Announcing the release of Spring Cloud Function 3.0.0.RELEASE<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/11\/19\/spring-cloud-greenwich-sr4-released\">&gt;&gt; Spring Cloud Greenwich.SR4 Released<\/a><\/strong> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/11\/graalvm-19-3-jdk-11\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; GraalVM 19.3 Brings JDK 11 Support<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/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><strong><a href=\"https:\/\/daedtech.com\/5-things-ive-learned-in-20-years-of-programming\/\">&gt;&gt; 5 Things I\u2019ve Learned in 20 Years of Programming<\/a><\/strong> [<span style=\"color: #800000;\">daedtech.com<\/span>]<\/h4>\n<p>A <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\">collection<\/a> of valuable lessons learned by a seasoned software professional.<\/p>\n<h4><a href=\"https:\/\/blog.frankel.ch\/no-such-thing-as-ci-cd\/\"><strong>&gt;&gt; There&#8217;s no such thing as CI\/CD!<\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/h4>\n<p>A really good point &#8211; getting the base terms right is always important.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/vladmihalcea.com\/postgresql-trigger-consistency-check\/\"><strong>&gt;&gt; PostgreSQL trigger consistency check<\/strong><\/a> [<span style=\"color: #800000;\">vladmihalcea.com<\/span>]<\/li>\n<\/ul>\n<ul>\n<li>\n<h4><strong><a href=\"https:\/\/advancedweb.hu\/2019\/11\/19\/lambda_proxy_cors\/\">&gt;&gt; How to setup CORS for Lambda Proxy integration<\/a><\/strong> [<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/blog.code-cop.org\/2019\/11\/promotion-service-kata.html\"><strong>&gt;&gt; Promotion Service Kata<\/strong><\/a> [<span style=\"color: #800000;\">blog.code-cop.org<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/www.paulgraham.com\/genius.html\"><strong>&gt;&gt; The Bus Ticket Theory of Genius<\/strong><\/a> [<span style=\"color: #800000;\">paulgraham.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><strong><a href=\"https:\/\/dilbert.com\/strip\/2019-11-21\">&gt;&gt; Software Specs<\/a><\/strong> [<span style=\"color: #800000;\">dilbert.com<\/span>]<\/h4>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2019-11-23\">&gt;&gt; Feeling Loyal<\/a><\/strong> [<span style=\"color: #800000;\">dilbert.com<\/span>]<\/h4>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2019-11-26\">&gt;&gt; Conference Call<\/a><\/strong> [<span style=\"color: #800000;\">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<div>\n<p>After the core team announced the full re-write of the OAuth2 stack in Spring Security 5, I knew this had to be a full, dedicated course.<\/p>\n<p>But, it took two years to get here, so I&#8217;m really excited about this one personally:<\/p>\n<p><strong><a href=\"https:\/\/www.baeldung.com\/learn-spring-security-oauth-course\">&gt;&gt; The upcoming new Learn Spring Security OAuth<\/a><\/strong><\/p>\n<p>If you&#8217;re doing OAuth2 work, this should help.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>An intro to the Lambda DSL for Spring Security, and a quick technical overview of the California Consumer Privacy Act (CCPA), which takes effect January 1.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-309\" title=\"Java Weekly, Issue 309\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/11\/28\/java-weekly-issue-309\/\">\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,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-KGz","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/179463"}],"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=179463"}],"version-history":[{"count":11,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/179463\/revisions"}],"predecessor-version":[{"id":215113,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/179463\/revisions\/215113"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=179463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=179463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=179463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}