Home » All Posts

All Posts

by rieckpil
With Spring Boot you only need one dependency to have a solid testing infrastructure: Spring Boot Starter Test. Using this starter, you don't need to manually upgrade testing libraries and keep them compatible. You'll get an opinionated set of libraries and can start writing tests without further setup effort. This ...
Read More
Spring Boot provides a set of annotations you can use for writing tests for a specific part of your application. These annotations take care of auto-configuring Spring's ApplicationContext to include all beans you need. The most known ones are those of testing your web layer or database layer in isolation ...
Read More
While watching Andy Wilkinson's great talk Testing Spring Boot Applications on YouTube he brought my attention to a hidden gem for testing the Spring RestTemplate. In the past, I always wondered how to write proper tests for client classes using the RestTemplate to fetch data from external services. In his ...
Read More
Once you use the Spring WebClient at multiple places in your application, providing a unified configuration with copy-pasting e.g. common headers to all places is cumbersome. The Spring WebClient provides a mechanism to globally customize all instances using the WebClientCustomizer interface. This blog post will demonstrate how you can customize ...
Read More
Monitoring the outcome of your HTTP calls is essential in a distributed system. Increased response times or error status codes can break or slow down your application. That's why you should monitor them properly. If you use Spring WebClient as your HTTP client, there is no need to manually track ...
Read More
/ #HOWTO, Spring Framework Tutorials
Ensuring your application is working properly is a critical part of continuous integration and delivery. Unit tests help you to test your methods' business logic for both normal & edge cases. When it comes to guaranteeing that your users are able to correctly work with your application, we need something ...
Read More
As part of the Jakarta EE Quickstart Tutorials on YouTube, I've now created a five-part series to create a Jakarta EE CRUD API. Within the videos, I'm demonstrating how to start using Jakarta EE for your next application. Given the Liberty Maven Plugin and MicroShed Testing, the endpoints are developed ...
Read More
/ #HOWTO, Jakarta EE Tutorials
With the presence of Docker, Kubernetes and cheaper hardware, the deployment model of multiple applications inside one application server has passed. Now, you deploy one Jakarta EE application to one application server. This eliminates the need for different context paths.  You can use the root context / for your Jakarta ...
Read More
/ #HOWTO, Jakarta EE Tutorials
With the past KotlinConf 2019 a lot of great updates for the Kotlin ecosystem were announced. Sebastian Aigner gave an update on using Kotlin to target JavaScript in the browser in his The State of Kotlin JS talk. In this talk, he announced that the kotlin2js and Kotlin Frontend plugin ...
Read More
/ #HOWTO, Kotlin Tutorials
I was recently wasting time and energy to get the CI pipelines for my two main GitHub repositories working with Travis CI. Even though the documentation provides examples for Maven-based Java projects, it took me still some time to find the correct setup. While working on these pipelines, I remembered ...
Read More
/ #HOWTO, Java Tutorials, Maven
Recently I got the chance to review Vlad Mihalcea's Hypersistence Optimizer. It... checks your JPA and Hibernate mappings and provides you tips about how you can optimize your application For evaluating this tool I picked one of the main applications (Spring Boot 2.1 and Java 8) of my current project ...
Read More
/ #REVIEW, Java Tutorials, JPA
Read about my latest YouTube series: Jakarta EE Quickstart Guides. It targets both Jakarta EE newcomers and experienced developers to provide tutorials for common tasks. This page works as an entry page to query for the tutorial you are looking for. About the Jakarta EE Quickstart Guides series The goal ...
Read More
/ Jakarta EE Tutorials
Given the latest release of Payara, we can now officially use it with Java 11 and Jakarta EE. I'm using this occasion to demonstrate how to create a Jakarta EE backend with a React frontend using TypeScript to up- and download a file. This example also includes a solution to ...
Read More
/ #HOWTO, Jakarta EE Tutorials, React
Alongside the WebClient, Spring provides a WebTestClient for testing purposes. The API of this class is similar to the WebClient and allows the assertion of all parts of the HTTP response. With this blog post, I'll demonstrate how to use the WebTestClient to write integration tests for a REST API ...
Read More
With this blog post, you'll get a tutorial on how to start using Kotlin for Spring Boot Maven application. I already covered the usage of Kotlin for a Java EE application and want to provide the same guide for Spring Boot. The demo application communicates with an external system, exposes ...
Read More
Short feedback cycles during development are essential for your productivity. If you practice TDD you'll agree on this even more. In the past, I've used several IDE plugins to achieve this for developing Jakarta EE applications. All worked but it wasn't joyful. Adam Bien's Watch and Deploy was a light ...
Read More
In one of my previous blog posts, I demonstrated how to write integration tests with Spring Boot and Testcontainers. As the aforementioned post targeted the database setup for integration tests, you might wonder how to stub other dependencies like external systems. For such use cases, you can use WireMock to ...
Read More
/ #HOWTO, Spring Framework Tutorials
Integration tests for your Jakarta EE application are essential. Testing the application in a full setup will ensure all of your components can work together. The Testcontainers project provides a great approach to use Docker containers for such tests. With MicroShed Testing you get a convenient way to use Testcontainers for ...
Read More
In one of my previous blog posts, I gave an example of how to configure the Spring WebClient for OAuth2 using Spring WebFlux. As most of the applications today are using Spring Web (Tomcat) and are not fully reactive, I also want to provide an example for this setup. In ...
Read More
If your application has real-time requirements like within a chat, the WebSocket technology might be a good fit. With WebSockets, you can create two-way communication channels between a server and a client. The JSR 356 specification defines a standard way of creating and managing WebSocket clients and servers for Java. It's ...
Read More
/ #HOWTO, Jakarta EE Tutorials
With OAuth2 being the current de-facto authorization framework, a lot of vendors use it to secure their APIs. Furthermore, you can use OAuth2 to enable social logins (e.g. Google or Facebook) and don't need your own user management. As the WebClient from Spring WebFlux is the preferred client for Spring ...
Read More
Detecting vulnerabilities inside your dependencies is crucial for creating secure applications. Besides that, static code analysis tools and pre-defined rules can help you to ensure quality. Fortunately, there are Maven Plugins available to automate this within your build. With this blog post, I'll show you my top three Maven plugins ...
Read More
/ #REVIEW, Java Tutorials, Maven
Manually creating a new Maven project is cumbersome. Most companies have a set of shared libraries (e.g. security) and pre-defined configurations they need for each project. Copy and pasting these files over and over is a tedious task. With Maven we have the option to build project templating toolkits with ...
Read More
/ #HOWTO, Java Tutorials, Maven
In one of my previous blog posts, I showed you what you need to create your first Jakarta EE 8 project. Manually creating a Maven project for a Jakarta EE application from scratch is cumbersome. Especially for new developers, the folder and file setup might be overwhelming. To overcome this ...
Read More
/ #HOWTO, Jakarta EE Tutorials
Almost one year after the release of Spring Boot 2.1, we get a new release: Spring Boot 2.2. The Spring Boot team continues to further improve performance, support the latest Java version and provide useful features. As there are a lot of updates with this release, I'm focussing on the ...
Read More
/ #REVIEW, Spring Framework Tutorials
The third MicroProfile release of 2019 is now available: MicroProfile 3.1. With the last release of MicroProfile 3.0 in June, the MicroProfile community continues with its last release for this year. Both the Eclipse MicroProfile Metrics and MicroProfile Health specification got an update to version 2.1. Even though this release ...
Read More
/ #REVIEW, MicroProfile Tutorials
As now all major application server vendors are Jakarta EE 8 certified, we are ready to start a new era of enterprise Java. Most of the examples on the internet lack a full-stack approach and just focus on the backend. With this post, I want to share a simple full-stack ...
Read More
Dependency Injection (DI) is one of the central techniques in today's applications and targets Separation of concerns. Not only makes this testing easier, but you are also not in charge to know how to construct the instance of a requested class. With Java/Jakarta EE we have a specification which (besides ...
Read More
When it comes to creating an application with Java (now Jakarta) EE, the first specification you usually get in touch with is CDI (Contexts and Dependency Injection). Starting with this specification, you'll probably know it for its dependency injection (DI) capabilities: @Inject. Even besides DI, the CDI spec offers a ...
Read More
The REST architectural pattern is widely adopted when it comes to creating web services. The term was first introduced by Roy Fielding in his dissertation and describes a way for clients to query and manipulate the resources of a server. With Jakarta RESTful Web Services (JAX-RS), formerly known as Java ...
Read More
Besides binding and converting JSON from an to Java objects with JSON-B, the Java EE specification (now Jakarta EE) offers a specification to process JSON data: JSON Processing (JSON-P). With this spec, you can easily create, write, read, stream, transform and query JSON objects. This specification is also part of the ...
Read More
JSON is the current de-facto data format standard for exposing data via APIs. The Java ecosystem offers a bunch of libraries to create JSON from Java objects and vice-versa (GSON, Jackson, etc.). With the release of Java EE 8 and the JSR-367, we now have a standardized approach for this: JSON-B ...
Read More
As Jakarta EE 8 was now finally released on the 10th of September 2019, we can start using it. This is the first release of Jakarta EE and a big accomplishment as everything is now hosted at the Eclipse Foundation. The Eclipse Foundation hosted an online conference (JakartaOne) during the ...
Read More
/ #HOWTO, Jakarta EE Tutorials
With the current trend to build distributed-systems, it is increasingly important to build fault-tolerant services. Fault tolerance is about using different strategies to handle failures in a distributed system. Moreover, the services should be resilient and be able to operate further if a failure occurs in an external service and ...
Read More
In today's microservice architectures security is usually based on the following protocols: OAuth2, OpenID Connect, and SAML. These main security protocols use security tokens to propagate the security state from client to server. This stateless approach is usually achieved by passing a JWT token alongside every client request. For convenient ...
Read More
In a distributed system your services usually communicate via HTTP and expose REST APIs. External clients or other services in your system consume these endpoints on a regular basis to e.g. fetch data from a different part of the domain. If you are using Java EE you can utilize the ...
Read More
Tracing method calls in a monolith to identify slow parts is simple. Everything is happening in one application (context) and you can easily add metrics to gather information about e.g. the elapsed time for fetching data from the database. Once you have a microservice environment with service-to-service communication, tracing needs ...
Read More
Exposing REST endpoints usually requires documentation for your clients. This documentation usually includes the following: accepted media types, HTTP method, path variables, query parameters, and the request and response schema. With the OpenAPI v3 specification we have a standard way to document APIs. You can generate this kind of API ...
Read More
Once your application is deployed to production you want to ensure it's up- and running. To determine the health and status of your application you can use monitoring based on different metrics, but this requires further knowledge and takes time. Usually, you just want a quick answer to the question: ...
Read More
Ensuring a stable operation of your application in production requires monitoring. Without monitoring, you have no insights about the internal state and health of your system and have to work with a black-box. Eclipse MicroProfile Metrics gives you the ability to not only monitor pre-defined metrics like JVM statistics but ...
Read More
Injecting configuration properties like JDBC URLs, passwords, usernames or hostnames from external sources is a common requirement for every application. Inspired by the twelve-factor app principles you should store configuration in the environment (e.g. OS environment variables or config maps in Kubernetes). These external configuration properties can then be replaced for ...
Read More
With continuous integration (CI) and continuous deployment (CD) your changes and features are usually deployed to production whenever your pipeline passes. There might be features you don't want to use until a specific date or only enable them for specific users. For such use cases, you can make use of so-called ...
Read More
The precise and clean style of writing code with Kotlin is tempting as a Java developer. In addition, switching to Kotlin with a Java background is rather simple. But what about using Kotlin for an existing Java EE application or start using it for a new project? Read this blog post ...
Read More
Telegram is widely adopted as a messenger app and a good alternative to WhatsApp. With Telegram, you are not limited to chatting with persons but also with bots. You can use these bots to automate tasks or notify you e.g. about an application alarm, a failed deployment or anything else ...
Read More
/ #HOWTO, Java Tutorials
When it comes to certification I'm usually a bit skeptical. Achieving a certificate for the sake of getting a formal certification document should, in my opinion, never be your main intent. At the end of last year, I noticed that the Cloud Native Computing Foundation offered a discount for their ...
Read More
/ #REVIEW, Kubernetes
Once your Spring Boot application is ready for deployment, you'll have to find an environment to deploy to.  Over the past years, Kubernetes has evolved and gained a lot of attention.  Today it is usually picked if you need service discovery, resource management, and autoscaling in addition to a convenient ...
Read More
Once your new prototype is ready for a first demo, you usually need some data to present. If you already have a solid data source this should be no problem, but what about the opposite case? How to simply create meaningful random data for your Java application? In the past, ...
Read More
/ #HOWTO, Java Tutorials
If you have cross-cutting concerns for several parts of your application you usually don't want to copy and paste the code. For Java EE applications the CDI (Context and Dependency Injection) spec contains the concept of interceptors which are defined in the Java Interceptor specification. With these CDI interceptors, you ...
Read More
I've recently published my first article on dev.to about how to deploy a React application to Kubernetes in 5 easy steps. There are many reasons for choosing Kubernetes for deploying your React application:
  • unified and standardized deployment model across the cloud providers
  • robustness against downtime as several containers are ...
    Read More
/ #HOWTO, Kubernetes, React
In one of my recent blog posts, I presented Spring's WebClient for RESTful communication. With Java EE we can utilize the JAX-RS Client and WebTarget classes to achieve the same. However, if you add the MicroProfile API to your project, you can make use of the MicroProfile Rest Client specification ...
Read More
Kubernetes is currently the de-facto standard for deploying applications in the cloud. Every major cloud provider offers a dedicated Kubernetes service (eg. Google Cloud with GKE, AWS with EKS, etc.) to deploy applications in a Kubernetes cluster. Once your stateless Java EE application (this is important, as your application will ...
Read More
I've recently worked through Tim Buchalka's Learn Programming Academy Kotlin for Java Developers Udemy course and want to give you my review of it. The main description of this course says the following: Use your Java skills to learn Kotlin fast. Enhance career prospects and master Kotlin, including Java interoperability ...
Read More
RESTful communication is the de-facto standard for interchanging data in a microservice-based environment. Usually, every participating microservice offers different parts of the application's domain in a RESTful way and calls other microservices to gather data for e.g. a different part of the application's domain. Resilience and efficient data interchange is, ...
Read More
With the MicroProfile release cycle of three releases every year in February, June, and October we got MicroProfile 3.0 on June 11th, 2019. This version is based on MicroProfile 2.2 and updates the Rest Client, Metrics, and Health Check API which I'll show you in this blog post today. The ...
Read More
Sending emails to your application's clients or customers is a common enterprise use case. The emails usually contain invoices, reports or confirmations for a given business transaction. With Java, we have a mature and robust API for this: The JavaMail API. The API standard has its own website providing official documentation and ...
Read More
Today I want to share with you my first YouTube series about CRUD application with Spring Boot 2.2, Java 11 and H2. This series contains five YouTube videos and will use the latest Spring Boot version, Java 11 and H2 as an embedded database. You'll learn how to effectively write ...
Read More
Calling other services and getting data is essential in a microservice-based architecture. Besides the downtime of the other service, a broken data transfer contract is one of the worst things that can happen. As a client of an external API, you have to trust that the data contract is stable ...
Read More
Local development on your machine is easy. But once you deploy your application you have a quite different environment. This might lead to unexpected behavior or errors. Manually applying System.out.println("Now we are here and variable X is = " + x); to your application's code is quite cumbersome and takes ...
Read More
In one of my previous blog posts, I showed you a simple way to load-test your application with Apache Benchmark. As this solution is suitable for e.g. testing a REST interface, this approach is not the best for benchmarking Java methods directly. Luckily we have a tool for this within ...
Read More
/ #HOWTO, Java Tutorials, Testing
With the release of PrimeFaces 7.0 (JSF component library) in March 2019, the PrimeTek team introduced over 500 improvements featuring new components. Furthermore, they added new modern free themes, font icons, better performance various enhancements on accessibility and security. The new modern free themes were the first thing I noticed while ...
Read More
.Messaging is a key concept for distributed enterprise applications. There are a lot of use cases, where you don't want or need a sync response you get with e.g. blocking REST calls. The counterpart, async messaging, can make sense for the following: IoT (sensor data), event streaming, data duplication, etc ...
Read More
In my latest blog post, I demonstrated a solution for up- and downloading files with Jersey (JAX-RS 2.1) on Payara. As WildFly does not rely on Jersey as the JAX-RS reference implementation and is using RESTEasy instead, I'll show you a quick example for file handling with RESTEasy on WildFly ...
Read More
In one of my last blog post, I showed you how to upload and download files with React and Spring Boot. Today I want to give you a quickstart example on how to achieve the same with Java EE and Web Components (standards ftw!). In this blog post, I'll be ...
Read More
Java SE 9 has been released in September 2017, three years after the Java SE 8 release from Oracle. The adoption of the Jigsaw module system since then is moderate in the Java community. Some developers skip the non-LTS releases (Java SE 9 is a non-LTS release) and upgrade to Java ...
Read More
/ #REVIEW, Java Tutorials
Manually applying your database schema is cumbersome and error-prone. Fortunately, there are technologies for version-controlling your database scripts to automate this process across all environments. In the Java ecosystem, Flyway is one of the most popular and a perfect fit alongside Hibernate and Spring Boot.  Flyway is described as the ...
Read More
Recently I've read the book SQL Performance Explained from Markus Winand (@MarkusWinand) and want to give you a review of this excellent book about SQL performance. The book contains the following chapters:
  1. Anatomy of an Index
  2. The Where Clause
  3. Performance and Scalability
  4. The Join Operation
  5. Clustering Data
  6. Sorting and ...
    Read More
/ #REVIEW, Database, SQL
As a Java/Jakarta EE developer, we can rely on the javax standards to work on every certified application server in the same way. When it comes to managing the application server, every vendor has a different and proprietary API for managing its resources. To use a different application server you ...
Read More
With Red Hat announcing Quarkus as a ... next-generation Kubernetes native Java Framework tailored for GraalVM and HotSpot, crafted from best-of-breed Java libraries and standards. I was impressed by the startup speed and memory consumption of the examples provided by Red Hat. One of the main reasons for these impressive ...
Read More
/ #WHATIS, Java Tutorials
The PostgreSQL RDBMS offers a great variety for writing server-side functions and with PostgreSQL 11 now also stored procedures. PostgreSQL comes with a language named PL/pqSQL which enhances plain SQL with control flow predicates (similar to Oracle's PL/SQL). Besides this SQL-like language, PostgreSQL also offers built-in support for using Perl 5, Python and TCL as ...
Read More
/ #HOWTO, Database, Java Tutorials
The productivity of your developers is crucial for the success of your project. Without fast deployments and short feedback-cycles about a new feature, you lose a lot of time just "idling". As a Java/Jakarta EE developer, you will most likely have a local installation for the target application server and ...
Read More
Generating documents for e.g. invoices or reports is a central use case for enterprise applications. As a Java developer, you have a wide range of possible libraries to manipulate and create Word, Excel or PDF documents. To help you choose the right library, I'll demonstrate an example for generating PDF documents ...
Read More
Testing your application's performance during development as a single user is easy but often misleading. With writing unit- and integration-tests you make sure your main use cases and algorithms work as expected and cover the requirements of the business. Testing the performance of your application under the expected load is ...
Read More
/ #HOWTO, Java Tutorials, Testing
In addition to my blog post #HOWTO: Up- and downloading files with React and Spring Boot, I want to show you a simple way to display PDF files in the browser with React. I'm using create-react-app to bootstrap the React application. For styling purposes, I've added semantic-ui-react and semantic-ui-css. The library for previewing the ...
Read More
/ #HOWTO, React
I published my first article on Medium about a developer habit I started one year ago. To improve my personal development skills, I dedicated at least 30 minutes every day to code and learn something new. Looking back after 365 days, I can totally recommend it to everyone to take ...
Read More
/ #REVIEW, Craftsmanship
Recently I got the chance to work through Vlad Mihalcea's High-Performance Java Persistence Video Course (Version: Mach 2) and in this blog post, I'll give you a review about this excellent course on tuning your data access layer based on Hibernate and JPA. When starting my career as a Java software developer I ...
Read More
/ #REVIEW, Java Tutorials, JPA
Recently I was looking for a simple solution to generate visual documentation of the underlying database. The solution should be easy to use, database vendor-independent and automatable e.g. during the CI pipeline. Therefore I found SchemaSpy (GitHub - Homepage) which is a single jar file and is able to generate nice-looking web-based ...
Read More
/ #HOWTO, Database
For securing your enterprise applications you have several choices that require different configuration setups. Lately, the stateless approach is the de-facto standard for securing your microservice-based landscape. With the choice, your applications don't store session data.  The client mostly sends a JWT token with each request and thus the applications ...
Read More
/ #HOWTO, Java EE Tutorials, React, Security
Bootstrapping a new JSF can be quite cumbersome if you are new to Java EE. Even after weeks of training, I had to look up the anatomy of the or the correct folder structure. As the JSF technology is still a valid and reasoned choice for frontend development in enterprises, I've ...
Read More
.Returning all the data in a table within a REST call can be slow if your table grows. Imagine a simple HTML <table></table> to show all the registered persons in your database. Even if you could return the whole dataset within one HTTP request, the user wouldn't be able to read them ...
Read More
Recently Andy Wilkinson (@ankinson) from the Spring Boot core team announced the release of Spring Boot 2.1. During the last days, I played around with the new version and will present you the most important updates from my point of view. Spring Boot 2.1.0 has been released: https://t.co/01acMWbF0P. There's lots of ...
Read More
/ #REVIEW, Spring Framework Tutorials
From the 19th to 21st of October 2018 the Hackathon Digital Tech Summit took place in Nuremberg as part of the Digital Festival in Nuremberg. With more than 500 attendees and 23 Hackathon teams, it was my second and yet biggest Hackathon and my team made the first place. We ...
Read More
/ #REVIEW, Craftsmanship
Writing good unit tests for your central business logic is essential. Both to speed up your development and have confident deployments to production. But there are also parts of your application where plain unit tests with mocking frameworks like Mockito aren't that useful or result in a "mocking-hell". The interaction ...
Read More
/ #HOWTO, Java EE Tutorials, JPA
Manually creating a new Java EE Maven project can be quite cumbersome. Creating all required folders and files for a simple JAX-RS endpoint with database access was quite error-prone in the past for me. I constantly mixed up WEB-INF and META-INF with its files and was tired of manually creating the project ...
Read More
Recently Baeldung announced to increase the price of his REST with Spring's course from $ 249 to $ 299. As I am (or was) a big fan of Baeldung because of his free content about Java & Spring. I purchased the course because I thought I get high-quality and up-to-date ...
Read More
/ #REVIEW, Spring Framework Tutorials
Recently I had to convert generated .docx files to .pdf files for more convenient distribution. The Word documents contained some custom formatting and additional pictures. I tried several Java libraries for doing this job (Docx4j, XDocReport and Apache POI) but all of them couldn't generate the output I got from manually ...
Read More
/ #HOWTO, Docx, Java Tutorials
Lately, I had the requirement to generate Word documents from specific templates and fill them dynamically with data. For this task, I compared the following Java libraries: Apache POI, iText PDF, Docx4j and XDocreports.  I compared them while using the following characteristics: Possibility to replace variables, amount of additional dependencies, ...
Read More
/ #HOWTO, Docx, Java EE Tutorials
Today I want to share a simple approach for up- and downloading files with JavaScript (ES6), React and a Spring Boot backend. This example can be used for any common content type like jpg, pdf, txt, HTML, png, etc. and is not limited to a specific content type. The sample application ...
Read More
/ #HOWTO, React, Spring Framework Tutorials
Recently I had the requirement for rate-limiting access to specific JAX-RS endpoints and to keep track of the user's current amount of API calls. To solve this problem I asked Adam Bien (@AdamBien) in his monthly Airhacks Q&A about this requirement and he gave me a hint for a possible ...
Read More
/ #HOWTO, Java EE Tutorials, JAX-RS, Security
For messaging, I have always thought of Apache Kafka as the central solution for messaging. While learning more about Java EE I came along the Java Message Service (JMS) specification and gave it a try. In addition, I wanted to learn more about the JMS capabilities of the Open Liberty application server. In this blog post, I'll show ...
Read More
/ #HOWTO, Java EE Tutorials, JMS
Securing your web application can be cumbersome. I recently tried to secure a JSF 2.3 application with the latest Java EE 8 Security API (JSR-375) and it was quite simple. In this blog post, I'll show you the required configuration steps for securing your JSF application with a form-based authentication mechanism. In ...
Read More
/ #HOWTO, Java EE Tutorials, JSF
As my last blog post about a short intro to JavaServer Faces 2.3 got a lot of attention (my tweet got even retweeted by the Java EE Guardian's twitter page (@javaee_guardian) I want to continue to write about JSF. This time about CRUD applications with JSF and PrimeFaces. A developer ...
Read More
/ #HOWTO, Java EE Tutorials, JSF
.Scrolling through my news feed on Twitter I get flooded with new releases of npm modules and more and more blog articles about server-side rendering technologies for the latest Single Page Application frameworks like Angular, React. What about proven and productive technologies likes JavaServer Faces? The following tweet summarized my current ...
Read More
/ #WHATIS, Java EE Tutorials, JSF
In today's post, I want to review the latest technical Java book I read. I came across the book "Java by Comparison" by Simon Harrer, Jörg Lenhard, and Linus Dietz while I was reading Venkat Subramaniam's blog. Venkat did the foreword of this book and as I am a fan of him, ...
Read More
/ #REVIEW, Java Tutorials
From July 10th to the 11th I took part in the Hackathon HACK|BAY which was organized by the tech incubator Zollhof in Nuernberg. Even if I participated in several coding challenges and a company internal Hackathon, this was my first Hackathon with a jury and multiple competing teams. The event ...
Read More
/ #REVIEW, Craftsmanship
In the last weeks, I was searching for a nice solution to send emails to users for one of my side projects. Sending plain text formatted emails with the Spring Boot Mail Starter is quite easy as it is an abstraction using the JavaMailSender interface and auto-configured. It's also possible to send ...
Read More
While I was scrolling through my twitter feed I noticed a post about the new Open Liberty 18.0.0.2 release on June 29. In the official blog post about the new release, they pointed out that Open Liberty now fully supports JavaEE 8 (JAX-RS 2.1, JPA 2.2, JSF 2.3 and so ...
Read More
Modeling your domain model with JPA is quite easy and for a smaller amount of data, you can easily rely on the default configuration of JPA/Hibernate. But when it comes to performance issues in your application you need a deeper understanding of JPA/Hibernate. One big performance boost could be Lazy Loading. When ...
Read More
/ #HOWTO, JPA
Today I want to show you a way to avoid repeating the same attributes in your JPA entities over and over again. Let's say some of your columns (e.g. timestamps for the creation date, the date of the last update, an intern identifier or something else) are present on most ...
Read More
Today I'll show you a way to write integration tests for your Spring Boot based application with a real database (meaning not mocked or in-memory) and not an embedded database like H2. In the last weeks, I was looking for a solution to write integration tests for my Spring Data ...
Read More
In today's #HOWTO blog post I want to show you a way to expose Git information (like commit hash, commit timestamp, branch ...) of the deployed application using Spring Boot Actuator. If you are not versioning your Maven application with the <version>X.Y.Z</version> tag and you want to know which state ...
Read More
In today's #REVIEW post I want to review one of my latest Java books: Effective Java. I was looking for a more advanced book about Java and therefore I found this book from Joshua Bloch. I bought the third edition of this book which was updated on 27th December 2017 for Java ...
Read More
/ #REVIEW, Java Tutorials
Today I want to inform you about one of my latest milestones as a software developer and convince you that you should do the same: Joining Stack Overflow. As a developer, you learn quite early to appreciate the support you get from Stack Overflow. Most of your daily coding problems ...
Read More
/ #REVIEW, Craftsmanship
In today's #WHAT IS? blog post I want to present you one of my latest learning experiences: Spring Cloud Config. When I started to use the Spring Framework, the whole Spring ecosystem with its projects like Spring Data, Spring Web and Spring Security just overstrained me. While writing my first RESTful microservice ...
Read More
/ #WHATIS, Spring Framework Tutorials
You are using the awesome Atom editor from GitHub and working with this editor on several machines?  You don't want to manually install and copy all of your downloaded plugins and your settings? Then this article will improve your productivity, as I'll show you how to sync Atom editor settings ...
Read More
/ #HOWTO, Craftsmanship
Welcome to my first article in the #REVIEW genre. Today I want to give you a review about a React 16 Udemy course I recently purchased and worked through. The full name of the course is React 16 - The Complete Guide (incl. React Router 4 & Redux) (Link). The lecturer ...
Read More
/ #REVIEW, React
Welcome to my first article for my genre #WHAT IS?. Today I'll show you how I started to appreciate the concept of Dependency Injection (abbreviation: DI). My bumpy learning path During several coding projects at the Unversity, I never enjoyed the power of DI. As we were greenhorn developers none ...
Read More
From the 14th to the 16th of November I visited the Container Conf 2017 in Mannheim. This conference focussed on the Docker container technology and the ecosystem around Docker. In this blog post, I'll summarize the top five pieces of advice I learned at this conference as a Summary of ...
Read More
/ #REVIEW, Craftsmanship
Welcome to my blog about software development. I am a twenty-four years old software developer and living in Germany. As a Java developer, I work for an automotive supplier company in Franconia. With this post, I want to give you an introduction to this site: rieckpil My career as a ...
Read More
/ Craftsmanship
>