<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reactive on foojay.io - Friends Of OpenJDK</title><link>http://foojayio.github.io/website/today/category/reactive/</link><description>Recent content in Reactive on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 06 Jan 2026 21:48:03 +0000</lastBuildDate><atom:link href="http://foojayio.github.io/website/today/category/reactive/index.xml" rel="self" type="application/rss+xml"/><item><title>Optimizing Java for the Cloud-Native Era with Quarkus</title><link>http://foojayio.github.io/website/today/optimizing-java-for-the-cloud-native-era-with-quarkus/</link><pubDate>Tue, 06 Jan 2026 21:09:00 +0000</pubDate><guid>http://foojayio.github.io/website/today/optimizing-java-for-the-cloud-native-era-with-quarkus/</guid><description>&lt;p&gt;This article explores how Quarkus can help organizations reduce costs, streamline development, and modernize their Java applications for today&amp;rsquo;s cloud-native environments. It outlines the real-world benefits of adopting Quarkus and highlights how its core features address the performance and scalability challenges commonly associated with traditional Java frameworks.&lt;/p&gt;&#10;&lt;p&gt;Quarkus is already being adopted across industries. One example is Orange, a global telecom provider that selected Quarkus to support its 5G API initiative, and benefited from fast startup times, a lightweight footprint, and seamless integration with Kubernetes.&lt;/p&gt;</description></item><item><title>Spring Framework – Internals of RestClient</title><link>http://foojayio.github.io/website/today/spring-internals-of-restclient/</link><pubDate>Mon, 25 Mar 2024 11:32:54 +0000</pubDate><guid>http://foojayio.github.io/website/today/spring-internals-of-restclient/</guid><description>&lt;p&gt;&lt;strong&gt;As a developer and architect, my constant pursuit is to achieve simplicity and elegance when constructing resilient and intricate enterprise applications. With my affinity for the Spring Framework, I have witnessed firsthand the simplicity and modernization it brings to the Spring Ecosystem.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;This framework enables the creation of complex enterprise applications in a more streamlined and refined manner, boasting a sophisticated diffusion and transformer architecture.&lt;/p&gt;&#10;&lt;figure class="size-medium"&gt;&#10; &lt;img src="http://foojayio.github.io/website/today/spring-internals-of-restclient/RestClient_1-700x394.jpg" alt="Spring RestClient" width="700" height="394" loading="lazy" class="is-zoomable"&gt;&lt;/figure&gt;&#10;&#10;&lt;p&gt;Spring RestClient&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes#restclient-support" title="Spring Boot 3.2" target="_blank" rel="noopener noreferrer"&gt;Spring Boot 3.2&lt;/a&gt; launched and introduced a range of captivating functionalities. Notably, the release includes the RestClient feature, which offers a contemporary approach to developing REST endpoints.&lt;/p&gt;</description></item><item><title>Journeys in Java, Level 10: Service Discovery with Eureka</title><link>http://foojayio.github.io/website/today/journeys-in-java-level-10-service-discovery-with-eureka/</link><pubDate>Thu, 13 Jul 2023 06:39:06 +0000</pubDate><guid>http://foojayio.github.io/website/today/journeys-in-java-level-10-service-discovery-with-eureka/</guid><description>&lt;p&gt;Gaining complexity in a microservices system certainly isn&amp;rsquo;t for the faint of heart (though neither is complexity in monoliths!).&lt;/p&gt;&#10;&lt;p&gt;When there are many services that need to communicate with one another, we might need to coordinate multiple services communicating with multiple other services.&lt;/p&gt;&#10;&lt;p&gt;We also might code for varying environments such as local, development server, or the cloud.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;How do services know where to find one another?&lt;/li&gt;&#10;&lt;li&gt;How can we avoid problems when a service is unavailable?&lt;/li&gt;&#10;&lt;li&gt;How do we handle requests when we scale up or down certain parts of our system?&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This is where something like Spring Cloud Netflix Eureka comes into play.&lt;/p&gt;</description></item><item><title>Coroutines on the RaspberryPi (Pi4J-Kotlin)</title><link>http://foojayio.github.io/website/today/coroutines-on-the-raspberrypi-pi4j-kotlin/</link><pubDate>Sat, 01 Apr 2023 09:05:29 +0000</pubDate><guid>http://foojayio.github.io/website/today/coroutines-on-the-raspberrypi-pi4j-kotlin/</guid><description>&lt;p&gt;If you didn&amp;rsquo;t know already, &lt;a href="https://pi4j.com/" target="_blank" rel="noopener noreferrer"&gt;Pi4J&lt;/a&gt; has had a &lt;a href="https://pi4j.com/kotlin/" target="_blank" rel="noopener noreferrer"&gt;Kotlin DSL&lt;/a&gt; for quite some time now.&lt;/p&gt;&#10;&lt;p&gt;And I&amp;rsquo;m here to announce the &lt;a href="https://github.com/Pi4J/pi4j-kotlin/releases/tag/2.4.0" target="_blank" rel="noopener noreferrer"&gt;latest release &lt;code&gt;v2.4.0&lt;/code&gt;&lt;/a&gt; with a sack of additions and to tell you about all the good stuff that&amp;rsquo;s been added since the &lt;a href="http://foojayio.github.io/website/today/kotlin-on-the-raspberrypi-pi4j-kotlin/"&gt;first release&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="1-coroutines"&gt;1. Coroutines&lt;/h2&gt;&#10;&lt;p&gt;If the &lt;code&gt;pi4j { … }&lt;/code&gt; wasn&amp;rsquo;t good enough for ya, and you want to use coroutines instead of weaving fat threads on your precious precious Pi, you can now use the new &lt;code&gt;pi4jAsync { … }&lt;/code&gt; block—It can do everything &lt;code&gt;pi4j { … }&lt;/code&gt; does + you can run &lt;code&gt;suspend&lt;/code&gt;ed functions within.&lt;/p&gt;</description></item><item><title>Gossips: An Event-Bus in a Chatty Neighbourhood</title><link>http://foojayio.github.io/website/today/metaphorical-programming-gossips-event-bus/</link><pubDate>Thu, 24 Nov 2022 08:35:32 +0000</pubDate><guid>http://foojayio.github.io/website/today/metaphorical-programming-gossips-event-bus/</guid><description>&lt;p&gt;In this article, we&amp;rsquo;ll tackle a common issue: &lt;em&gt;simple&lt;/em&gt; communication between system components. With a slightly controversial, themed, domain-driven design.&lt;/p&gt;&#10;&lt;p&gt;Though this post has nothing to do with Android, we need a context where an Event-Bus is needed. And boy oh boy is it needed in Android! And we&amp;rsquo;ll use this as an excuse to write an Event-Bus.&lt;/p&gt;&#10;&lt;p&gt;I chose an analogy for the entire thing: &lt;strong&gt;Gossips&lt;/strong&gt;;\&lt;/p&gt;&#10;&lt;p&gt;It fits with the nature of the library, and the way it&amp;rsquo;ll be used. A global pub-sub component to enable cross-component communication.&lt;/p&gt;</description></item><item><title>Kotlin on the RaspberryPi (Pi4J-Kotlin)</title><link>http://foojayio.github.io/website/today/kotlin-on-the-raspberrypi-pi4j-kotlin/</link><pubDate>Thu, 17 Nov 2022 13:37:18 +0000</pubDate><guid>http://foojayio.github.io/website/today/kotlin-on-the-raspberrypi-pi4j-kotlin/</guid><description>&lt;h2 id="intro"&gt;Intro&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://pi4j.com/" target="_blank" rel="noopener noreferrer"&gt;Pi4J&lt;/a&gt; is considered the project that brought the JVM to the RaspberryPi.&lt;/p&gt;&#10;&lt;p&gt;It has been up for more than a decade allowing developers to write sophisticated, high-level, yet simple software on the RaspberryPi.&lt;/p&gt;&#10;&lt;p&gt;And we&amp;rsquo;re glad to make it even more simpler and powerful!&lt;/p&gt;&#10;&lt;p&gt;For quite some years now Kotlin has been a most welcome language in the JVM ecosystem and the modern development toolchain.&lt;/p&gt;&#10;&lt;p&gt;Many factors led to this great reality, most notable to me is Kotlin&amp;rsquo;s non-disruptive integration and seamless developer experience.&lt;/p&gt;</description></item><item><title>Building Reactive Java Applications with Spring Framework</title><link>http://foojayio.github.io/website/today/building-reactive-java-applications-with-spring-framework/</link><pubDate>Tue, 15 Feb 2022 14:09:28 +0000</pubDate><guid>http://foojayio.github.io/website/today/building-reactive-java-applications-with-spring-framework/</guid><description>&lt;p&gt;&lt;img src="http://foojayio.github.io/website/today/building-reactive-java-applications-with-spring-framework/1_bAqotS_F1PipZLOHx_Tcww-1024x403.jpeg" alt="" width="1024" height="403" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;In one of our many free tutorials on&lt;/em&gt; &lt;a href="https://www.youtube.com/c/DataStaxDevs/videos" target="_blank" rel="noopener noreferrer"&gt;&lt;em&gt;DataStax Developers YouTube channel&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, we walked you through&lt;/em&gt; &lt;a href="https://www.youtube.com/watch?v=1aRbndIcXV4" target="_blank" rel="noopener noreferrer"&gt;&lt;em&gt;how to build a reactive implementation of Spring PetClinic&lt;/em&gt;&lt;/a&gt; in &lt;em&gt;Apache Cassandra® using Spring WebFlux. The full series is&lt;/em&gt; &lt;a href="https://github.com/datastaxdevs/workshop-spring-reactive" target="_blank" rel="noopener noreferrer"&gt;&lt;em&gt;available on YouTube&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;If you&amp;rsquo;re a Java developer who uses the Spring ecosystem, you&amp;rsquo;ve probably seen the &lt;a href="https://github.com/datastaxdevs/workshop-spring-reactive" target="_blank" rel="noopener noreferrer"&gt;Spring Pet Clinic&lt;/a&gt;. In this workshop, we will walk you through a new reactive implementation of the Pet Clinic backend that uses Spring WebFlux and Apache &lt;a href="https://www.datastax.com/what-is/cassandra" target="_blank" rel="noopener noreferrer"&gt;Cassandra&lt;/a&gt;® (via &lt;a href="https://astra.dev/3lSpuQp" target="_blank" rel="noopener noreferrer"&gt;DataStax Astra DB&lt;/a&gt;).&lt;/p&gt;</description></item></channel></rss>