<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[CraftingJava Blog]]></title><description><![CDATA[CraftingJava Blog]]></description><link>https://craftingjava.com/</link><generator>RSS for Node</generator><lastBuildDate>Mon, 15 Feb 2021 16:31:54 GMT</lastBuildDate><atom:link href="https://craftingjava.com/rss.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[How to post JSON-serialized form data with RestTemplate]]></title><description><![CDATA[RestTemplate is often used for consuming RESTful web services from Spring applications.]]></description><link>https://craftingjava.com/blog/post-json-form-data-resttemplate</link><guid isPermaLink="true">https://craftingjava.com/blog/post-json-form-data-resttemplate</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[How to assign custom document IDs in Spring Data MongoDB]]></title><description><![CDATA[When using Spring Data MongoDB IDs can be automatically generated for documents provided that you’re using an ObjectId, String or BigInteger as the underlying type.]]></description><link>https://craftingjava.com/blog/custom-document-id-spring-data-mongodb</link><guid isPermaLink="true">https://craftingjava.com/blog/custom-document-id-spring-data-mongodb</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[User management microservice (Part 1): Defining domain model and REST API]]></title><description><![CDATA[In this first part we define the requirements against the application, its initial domain model and that REST API which its front-end will be using.]]></description><link>https://craftingjava.com/blog/user-management-domain-model-rest-api</link><guid isPermaLink="true">https://craftingjava.com/blog/user-management-domain-model-rest-api</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Spring Boot 2.0 New Features: The 3 Most Important Changes You Must Know]]></title><description><![CDATA[As a Java Developer, you know that a lot had happened last fall Java 9 got released, Spring 5 went GA, Spring Boot saw another four milestone releases.]]></description><link>https://craftingjava.com/blog/spring-boot-2-new-features</link><guid isPermaLink="true">https://craftingjava.com/blog/spring-boot-2-new-features</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Installing OpenJDK 11 on Ubuntu 18.04 for real]]></title><description><![CDATA[OpenJDK 11 was released on the 25th of September, 2018.]]></description><link>https://craftingjava.com/blog/install-openjdk-11-ubuntu-18-04</link><guid isPermaLink="true">https://craftingjava.com/blog/install-openjdk-11-ubuntu-18-04</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[How to setup a Jupyter notebook for exploring data]]></title><description><![CDATA[Walkthrough on setting up a new Jupyter environment for data analyses with NumPy, pandas, matplotlib, and their counterparts.]]></description><link>https://craftingjava.com/blog/jupyter-notebook-setup</link><guid isPermaLink="true">https://craftingjava.com/blog/jupyter-notebook-setup</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[How to avoid slowdown when using Groovy-based @Transactional components]]></title><description><![CDATA[During the investigation of a slowdown in a back-end Spring application, I found an interesting side-effect of using class-level @Transactional annotations on Groovy-based services.]]></description><link>https://craftingjava.com/blog/avoid-slowdown-transactional-groovy-components</link><guid isPermaLink="true">https://craftingjava.com/blog/avoid-slowdown-transactional-groovy-components</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[User management microservice (Part 7): Putting it together]]></title><description><![CDATA[During writing the last six parts of this article series a lot has happened.]]></description><link>https://craftingjava.com/blog/user-management-deployment</link><guid isPermaLink="true">https://craftingjava.com/blog/user-management-deployment</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[User management microservice (Part 2): Implementing the domain model]]></title><description><![CDATA[In my previous post I defined the requirements of a user management microservice and designed the initial domain model of it.]]></description><link>https://craftingjava.com/blog/user-management-implement-domain-model</link><guid isPermaLink="true">https://craftingjava.com/blog/user-management-implement-domain-model</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[User management microservice (Part 4): Implementing REST API]]></title><description><![CDATA[In the previous part the data access layer along with the repositories were implemented, before that the domain model without having to rely on any framework specific class or feature and now time has come to add REST controllers on the top of that.]]></description><link>https://craftingjava.com/blog/user-management-implement-rest-api</link><guid isPermaLink="true">https://craftingjava.com/blog/user-management-implement-rest-api</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[User management microservice (Part 3): Implementing and testing repositories]]></title><description><![CDATA[In the previous part there was fair amount coding involved over the course of implementing the domain model, which comprises all the logic a user registration process needs.]]></description><link>https://craftingjava.com/blog/user-management-implement-repositories</link><guid isPermaLink="true">https://craftingjava.com/blog/user-management-implement-repositories</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[This is how you can setup a Maven project for Java 9]]></title><description><![CDATA[One of the most anticipated events of the Java world is going to be when version 9 gets released on the 21st of September*.]]></description><link>https://craftingjava.com/blog/maven-java-9</link><guid isPermaLink="true">https://craftingjava.com/blog/maven-java-9</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Introduction to HTTP/2 support in Java 9]]></title><description><![CDATA[The IETF streaming group approved the HTTP/2 protocol in 2015, sixteen years after HTTP/1.1 had been released.]]></description><link>https://craftingjava.com/blog/http2-java-9</link><guid isPermaLink="true">https://craftingjava.com/blog/http2-java-9</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[How to prevent OutOfMemoryError when you use @Async]]></title><description><![CDATA[Do you use @Async? You’d better watch out, because you might run into OutOfMemoryError unable to create new native thread error just as I did.]]></description><link>https://craftingjava.com/blog/prevent-oome-async</link><guid isPermaLink="true">https://craftingjava.com/blog/prevent-oome-async</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Spring Boot 2.0 New Features: Infrastructure Changes]]></title><description><![CDATA[In my previous post, Spring Boot 2.0 New Features The 3 Most Important Changes You Must Know About, I pointed out the one of the notable changes coming with Spring Boot 2 will be infrastructure updates.]]></description><link>https://craftingjava.com/blog/spring-boot-2-infrastructure-changes</link><guid isPermaLink="true">https://craftingjava.com/blog/spring-boot-2-infrastructure-changes</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[GDPR forget-me app (Part 1): Requirements]]></title><description><![CDATA[In preparation for the enforcement of GDPR which becomes final on the 25th of May 2018, I’m creating a simple, open source forget-me app for craftingjava.com in compliance with Art. 17 GDPR (‘right to be forgotten’).]]></description><link>https://craftingjava.com/blog/forget-me-app-requirements</link><guid isPermaLink="true">https://craftingjava.com/blog/forget-me-app-requirements</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Bootiful GCP: Spring Cloud Stream with Google Cloud Pub/Sub]]></title><description><![CDATA[I’ve recently read Josh Long‘s Bootiful GCP series on Sprint Central’s engineering blog and especially liked the 4th part about using Google Cloud’s Pub/Sub.]]></description><link>https://craftingjava.com/blog/bootiful-gcp-spring-cloud-stream-pub-sub</link><guid isPermaLink="true">https://craftingjava.com/blog/bootiful-gcp-spring-cloud-stream-pub-sub</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[GDPR forget-me app (Part 3): Conditional configuration with Spring Boot 2]]></title><description><![CDATA[In the previous part I explained one of the messages flows in detail from the point of view of implementing in- and outbound messaging with Spring Integration’s AMQP support.]]></description><link>https://craftingjava.com/blog/forget-me-app-conditional-config-spring-boot</link><guid isPermaLink="true">https://craftingjava.com/blog/forget-me-app-conditional-config-spring-boot</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Consuming Twitter Streaming API with Spring Integration]]></title><description><![CDATA[Spring Integration has been known to have a myriad of connectors for interacting with external systems.]]></description><link>https://craftingjava.com/blog/twitter4j-streaming-spring-integration</link><guid isPermaLink="true">https://craftingjava.com/blog/twitter4j-streaming-spring-integration</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Using Java Flight Recorder with OpenJDK 11]]></title><description><![CDATA[Java Flight Recorder (JFR) used to be a commercial add-on of the Oracle JDK.]]></description><link>https://craftingjava.com/blog/using-java-flight-recorder-with-openjdk-11</link><guid isPermaLink="true">https://craftingjava.com/blog/using-java-flight-recorder-with-openjdk-11</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[Specialization Review: Mathematics for Machine Learning]]></title><description><![CDATA[The Mathematics for Machine Learning specialization taught by three processors from Imperial College of London is worth taking, you’ll get to know to the basics of math required to get started with Machine Learning.]]></description><link>https://craftingjava.com/blog/spec-review-math-ml</link><guid isPermaLink="true">https://craftingjava.com/blog/spec-review-math-ml</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[JVM Observability and Tuning Best Practices]]></title><description><![CDATA[Collection of JVM settings I generally use in production. The article focuses on observability and G1 GC tuning.]]></description><link>https://craftingjava.com/blog/jvm-observability-and-tuning</link><guid isPermaLink="true">https://craftingjava.com/blog/jvm-observability-and-tuning</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[User management microservice (Part 5): Authentication with JWT tokens and Spring Security]]></title><description><![CDATA[So far the business logic, data access layer and the front controllers had been build, however enforcing authentication was completely missing.]]></description><link>https://craftingjava.com/blog/user-management-authentication-jwt-spring-security</link><guid isPermaLink="true">https://craftingjava.com/blog/user-management-authentication-jwt-spring-security</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[How to consume large SQS messages with JMS and Spring Boot]]></title><description><![CDATA[Spring Boot became ubiquitous in recent years and provided an opinionated way of integrating various pieces of technology.]]></description><link>https://craftingjava.com/blog/large-sqs-messages-jms-spring-boot</link><guid isPermaLink="true">https://craftingjava.com/blog/large-sqs-messages-jms-spring-boot</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[User management microservice (Part 6): Remember me authentication with persistent JWT tokens]]></title><description><![CDATA[Last time I added username and password based authentication with using Spring Security.]]></description><link>https://craftingjava.com/blog/user-management-remember-me-jwt-token</link><guid isPermaLink="true">https://craftingjava.com/blog/user-management-remember-me-jwt-token</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item><item><title><![CDATA[GDPR forget-me app (Part 2): Messaging with Spring Integration and AMQP]]></title><description><![CDATA[This second part focuses on how to use Java DSL for defining in- and outbound messaging with Spring Integration’s AMQP support.]]></description><link>https://craftingjava.com/blog/forget-me-app-spring-integration-amqp</link><guid isPermaLink="true">https://craftingjava.com/blog/forget-me-app-spring-integration-amqp</guid><dc:creator><![CDATA[László Csontos]]></dc:creator></item></channel></rss>