<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JMS on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/jms/</link><description>Recent content in JMS on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 17 Aug 2025 00:07:21 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/jms/index.xml" rel="self" type="application/rss+xml"/><item><title>Preparing for Spring Boot 4 and Spring Framework 7: What’s New?</title><link>https://foojayio.github.io/website/today/preparing-for-spring-framework-7-and-spring-boot-4/</link><pubDate>Mon, 11 Aug 2025 14:42:40 +0000</pubDate><guid>https://foojayio.github.io/website/today/preparing-for-spring-framework-7-and-spring-boot-4/</guid><description>&lt;p&gt;&lt;strong&gt;I&amp;rsquo;m a passionate Spring Framework and Spring Boot enthusiast, and I always look forward to exploring and experimenting with the latest features and improvements they introduce. With Spring Boot 4 and Spring Boot Framework 7 right around the corner, now&amp;rsquo;s the perfect time to dive into the key enhancements that will shape the future of modern Java and enterprise application development.&lt;/strong&gt;
&lt;img src="https://foojayio.github.io/website/today/preparing-for-spring-framework-7-and-spring-boot-4/SpringImage.jpg" alt="Spring Boot 4" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;In this blog post, we will discuss some key features enhanced as part of Spring Framework 7 and Spring Boot 4.&lt;/p&gt;</description></item><item><title>Durable Subscription with JMS and Spring Boot</title><link>https://foojayio.github.io/website/today/durable-subscription-with-jms-and-spring-boot/</link><pubDate>Thu, 28 Dec 2023 12:45:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/durable-subscription-with-jms-and-spring-boot/</guid><description>&lt;p&gt;&lt;strong&gt;When using the publish-subscribe domain with JMS, we often want to use durable subscriptions. But how can this be done with Spring Boot?&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="h2-0-what-is-jms"&gt;What is JMS?&lt;/h2&gt;
&lt;p&gt;The Java Message Service (JMS) API is a standard for creating, sending, receiving, and reading messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous.&lt;/p&gt;
&lt;p&gt;JMS supports two message delivery modes: Point-to-Point and Publish/Subscribe&lt;/p&gt;
&lt;p&gt;In the point-to-point domain, a producer can send a message to one consumer through a destination called &amp;ldquo;queue&amp;rdquo;. A given queue may have multiple receivers, but only one receiver may consume each message.
&lt;img src="https://foojayio.github.io/website/today/durable-subscription-with-jms-and-spring-boot/image.png" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Testing Spring Boot JMS with ActiveMQ Artemis and Testcontainers</title><link>https://foojayio.github.io/website/today/testing-spring-boot-jms-with-activemq-artemis-and-testcontainers/</link><pubDate>Tue, 12 Dec 2023 07:55:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/testing-spring-boot-jms-with-activemq-artemis-and-testcontainers/</guid><description>&lt;p&gt;&lt;strong&gt;Currently, I&amp;rsquo;m teaching JMS with Spring Boot at the University of Applied Science in Bern, Switzerland. We use &lt;a href="https://activemq.apache.org/components/artemis/" target="_blank" rel="noopener noreferrer"&gt;Apache ActiveMQ Artemis&lt;/a&gt;
 as the JMS message broker. But how can we test our Spring Boot application?&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="h2-0-testcontainers-to-the-rescue"&gt;Testcontainers to the Rescue&lt;/h2&gt;
&lt;p&gt;Currently, there is no &lt;a href="https://java.testcontainers.org%24/" target="_blank" rel="noopener noreferrer"&gt;Testcontainers Java&lt;/a&gt;
 module for ActiveMQ Artemis. As you can see in the &lt;a href="https://github.com/testcontainers/testcontainers-java" target="_blank" rel="noopener noreferrer"&gt;Testcontainers GitHub repository&lt;/a&gt;
, there is an active activemq branch that may be released soon. But in the meantime, we need another solution.&lt;/p&gt;</description></item><item><title>Debugging the Java Message Service (JMS) API using Lightrun</title><link>https://foojayio.github.io/website/today/debugging-the-java-message-service-jms-api-using-lightrun/</link><pubDate>Fri, 03 Jun 2022 09:26:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/debugging-the-java-message-service-jms-api-using-lightrun/</guid><description>&lt;p&gt;The Java Message Service API (JMS) was developed by Sun Microsystems in the days of &lt;a href="https://en.wikipedia.org/wiki/Jakarta_EE" target="_blank" rel="noopener noreferrer"&gt;Java EE&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;The JMS API provides us with simple messaging abstractions including Message Producer, Message Consumer, etc. Messaging APIs let us place a message on a &amp;ldquo;queue&amp;rdquo; and consume messages placed into said queue.&lt;/p&gt;
&lt;p&gt;This is immensely useful for high throughput systems &amp;ndash; instead of wasting user time by performing a slow operation in real-time, an enterprise application can send a message. This non-blocking approach enables extremely high throughput, while maintaining reliability at scale.&lt;/p&gt;</description></item></channel></rss>