<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Alexander Bierler on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/authors/alexander-bierler/</link><description>Recent content in Alexander Bierler on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 17 Oct 2025 07:00:02 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/authors/alexander-bierler/index.xml" rel="self" type="application/rss+xml"/><item><title>MockServer NeoLight: A Lightweight Alternative for API Testing with Testcontainers</title><link>https://javapro-en.svenruppert.com/mockserver-neolight-a-lightweight-alternative-for-api-testing-with-testcontainers/</link><pubDate>Fri, 17 Oct 2025 07:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/mockserver-neolight-a-lightweight-alternative-for-api-testing-with-testcontainers/</guid><description>&lt;p&gt;The open-source project &lt;a href="https://github.com/xdev-software/mockserver-neolight"&gt;MockServer NeoLight&lt;/a&gt; has been released as a lightweight rewrite of the original &lt;a href="https://github.com/mock-server/mockserver"&gt;MockServer&lt;/a&gt;. Its primary focus lies on &lt;strong&gt;simplicity&lt;/strong&gt;, &lt;strong&gt;maintainability&lt;/strong&gt;, and seamless integration with &lt;a href="https://java.testcontainers.org/"&gt;&lt;strong&gt;Testcontainers&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The MockServer concept allows developers to mock HTTP and HTTPS requests in order to &lt;strong&gt;simulate APIs for testing purposes&lt;/strong&gt;. By setting expectations for incoming requests and defining responses, it creates controlled environments for integration testing. This isolates the system under test from real external dependencies, leading to predictable and repeatable results.&lt;/p&gt;</description></item><item><title>Supercruising with Testcontainers: Making Tests Faster and More Flexible</title><link>https://javapro-en.svenruppert.com/supercruising-with-testcontainers-making-tests-faster-and-more-flexible/</link><pubDate>Fri, 10 Oct 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/supercruising-with-testcontainers-making-tests-faster-and-more-flexible/</guid><description>&lt;p&gt;&lt;strong&gt;Testcontainers&lt;/strong&gt; has become an essential tool in many Java projects to run integration and system tests in realistic environments. However, when test scenarios grow complex, developers often run into limitations—especially around configuration, parallelization, and resource usage. An open-source framework built on top of Testcontainers addresses some of these challenges with powerful extensions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/xdev-software/tci-base"&gt;&lt;strong&gt;Testcontainers Infrastructure (TCI) Framework&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="1-improve-customizability-and-parallelization"&gt;&lt;strong&gt;1. Improve customizability and parallelization&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;By using the factory pattern when creating containers, the goal is to make it easier for developers to adjust the containers as needed.&lt;/p&gt;</description></item><item><title>Exploring XDEV SSE: Enhancing Spring Security for Modern Applications</title><link>https://javapro-en.svenruppert.com/exploring-xdev-sse-enhancing-spring-security-for-modern-applications/</link><pubDate>Fri, 25 Jul 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/exploring-xdev-sse-enhancing-spring-security-for-modern-applications/</guid><description>&lt;p&gt;In the ever-evolving world of web application security, keeping up with best practices is crucial. XDEV’s &lt;em&gt;&lt;strong&gt;Extras for Spring Security&lt;/strong&gt;&lt;/em&gt; (XDEV SSE) addresses common challenges developers face when securing distributed systems. This open-source enhancement for Spring Security offers a suite of features to simplify secure application development.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;The extension provides several modules that make managing security in Spring-based applications more straightforward. Its main focus lies on &lt;strong&gt;improving OAuth2/OIDC management, session handling, and login persistence&lt;/strong&gt;, while also simplifying integration with modern frontends. One key benefit is more efficient handling of user sessions through automatic access validation—even after server restarts, security is maintained across all applications.&lt;/p&gt;</description></item><item><title>Discovering the perfect Java Supply Chain Attack vector and how it got fixed</title><link>https://javapro-en.svenruppert.com/discovering-the-perfect-java-supply-chain-attack-vector-and-how-it-got-fixed/</link><pubDate>Tue, 19 Nov 2024 12:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/discovering-the-perfect-java-supply-chain-attack-vector-and-how-it-got-fixed/</guid><description>&lt;p&gt;You may have heard about the &lt;a href="https://www.oracle.com/java/technologies/javase/23-relnote-issues.html#JDK-8321314"&gt;changes to annotation processing that have been done in Java 23&lt;/a&gt;. This post will cover the underlying topic, how I learned about it, and how it got fixed.&lt;/p&gt;
&lt;h4 id="background"&gt;Background&lt;/h4&gt;
&lt;p&gt;To understand annotation processing and why it is even there, we first need to hop into our DeLorean and go back to the year &lt;del&gt;1955&lt;/del&gt; 2005. So back then there were no build tools like Maven or Gradle, which we have nowadays. Java was still developed by Sun Microsystems and the newest version was 5. Java annotations were introduced with Java 5 but an API for processing them at build-time did not exist, so &lt;a href="https://www.jcp.org/en/jsr/detail?id=269"&gt;JSR 269&lt;/a&gt; was born. The general idea seems to have been to allow the generation of (boilerplate) code and similar operations. Examples that use the concept nowadays are probably &lt;a href="https://projectlombok.org/"&gt;Lombok&lt;/a&gt; or &lt;a href="https://github.com/google/dagger"&gt;Dagger&lt;/a&gt; (for the Android world) but these are usually run with dedicated plugins. I found &lt;a href="https://www.youtube.com/watch?v=0hN6XJ69xn4"&gt;an old video of a presentation&lt;/a&gt; about this topic - you may want to check it out for additional background information. JSR 269 was ultimately implemented and shipped in 2006 with Java 6. Most details of it were likely ignored over the years as better build tools such as Maven or Gradle gradually gained popularity.&lt;/p&gt;</description></item></channel></rss>