https://github.com/aliabbos-ashurov/spring-boot-activemq-microservices
Spring Boot microservices with ActiveMQ, Eureka Discovery Client, and Spring Cloud Config. Demonstrates message-driven architecture, service discovery, and centralized configuration.
https://github.com/aliabbos-ashurov/spring-boot-activemq-microservices
activemq apache apache-activemq message-broker producer-consumer
Last synced: 4 months ago
JSON representation
Spring Boot microservices with ActiveMQ, Eureka Discovery Client, and Spring Cloud Config. Demonstrates message-driven architecture, service discovery, and centralized configuration.
- Host: GitHub
- URL: https://github.com/aliabbos-ashurov/spring-boot-activemq-microservices
- Owner: Aliabbos-Ashurov
- Created: 2025-05-01T09:08:01.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-05-23T13:00:46.000Z (5 months ago)
- Last Synced: 2025-05-23T14:37:47.863Z (5 months ago)
- Topics: activemq, apache, apache-activemq, message-broker, producer-consumer
- Language: Java
- Homepage:
- Size: 547 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spring Boot ActiveMQ Microservices

This repository demonstrates a microservices architecture using Spring Boot and ActiveMQ for message-driven
communication. It provides a simple example of how to integrate ActiveMQ with Spring Boot to enable
asynchronous messaging between services.The project consists of multiple Spring Boot microservices that communicate via ActiveMQ, a robust message
broker. The services showcase producer-consumer patterns, where one service sends messages to a queue,
and another consumes them for processing.## Features
- **Producer Service**: Sends messages to an ActiveMQ queue.
- **Consumer Service**: Listens to the queue and processes incoming messages.
- **ActiveMQ Integration**: Configured for reliable message delivery.
- **Eureka Discovery Client**: Enables service registration and discovery.
- **Spring Cloud Config**: Centralizes configuration management.
## Configuration
The application is configured using .yaml configuration files for each microservice, defining **ActiveMQ**
connection details, queue names, and other properties. Additionally, Java-based configuration is provided to
programmatically set up ActiveMQ connections and JMS components, as shown in the respective service
configuration classes.## Getting Started
```shell
docker-compose -f docker-compose.yml up -d
```### or
```shell
docker run -d \
--name active-mq \
-e ACTIVEMQ_WEB_USER=admin \
-e ACTIVEMQ_WEB_PASSWORD=admin \
-p 61616:61616 \
-p 8161:8161 \
-v activemq-data:/opt/activemq/data \
--network activemq-network \
--restart unless-stopped \
apache/activemq-classic:5.17.7
```