📬Zola (Extremely) Simple Message Queue for spring, It is the simplest Message Queue you've ever experienced.

Overview

It is the simplest Message Queue you've ever experienced.

ZSMQ

ZSMQ (Zola Simple Message Queue) is a very simple message queue created in java.

'zola' is a korean slang. It means 'utterly', 'extremely', 'super', 'very'

ZSMQ can be used in a variety of situations (ex, Poc or study), except in the operating environment.

ZSMQ is the best choice if you don't consider performance.

ZSMQ aims to have

  • Simplest
  • Easiest
  • intuitive configuration
  • you to focus on other than message queue

Quick Start

ZSMQ is fast and easy to use, so we aim to minimize the configuration.

Check example to see the detailed configuration; there is a simple example using zsmq.

You can quickly create a great message queue by following these steps!

  1. run messaging server and dashboard
  2. gradle dependency
  3. configure property
  4. Just U.S.E it!!

1. run messaging server and dashboard

ZSMQ provides two components:

Both of the following components must be run

  1. Messaging Server
  2. Message Server Dashboard

The Messaging Server manages the MQ. The destination to publish and subscribe to a message is Messaging Server.

The dashboard provides a view of the server. Describe the message queue and crreate/delete the MQ.

You can easily run Zola (ZSMQ) server using docker

docker run --rm -d -p 8290:3000 dhslrl321/zsmq:dashboard.1.0.1
docker run --rm -d -p 8291:8291 dhslrl321/zsmq:server.1.0.0

messaging server and dashboard's port must be 8290, 8291 ! If you need to change the port, please raise it to issue.

2. gradle dependency

Two dependencies are required to use zsmq.

  1. zola-messaging-core
  2. zola-messaging-spring-sdk

When used with spring framework, You can manually add dependencies one by one.

However, We provide a spring-boot-starter so that you can skip the complicated process and set it up easily.

It can be downloaded from the jitpack repository.

Add the following blocks to build.gradle

repositories {
    // ... other maven repository
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.dhslrl321.zsmq:zola-messaging-spring-boot-starter:${version}'
}

You can manually set bin without using the spring boot starter.

Check the reference guide for more information

3. configure property

Finally, The url of the Zola Messaging Server must be specified in application.yml

zsmq:
  url: http://localhost:8291
  listening: false
  • zsmq.url : The Messaging Server url that manages the MQ.
  • zsmq.listening : Decide whether to register the listening thread automatically or not.
    • The listener thread is used when consuming.

4. Just U.S.E it !

Now you are done with all settings

You have to use it as it is.

1. Open the dashboard, Create a queue. If you are setting properly just go into localhost:8290

image

image

2. write the code in your application

  • If you want to publish a message, please use ZolaQueueMessagingTemplate.
  • If you want to consume a message, please use '@ZolaConsumer' and @ZolaMessageListener

publish message

@RequiredArgsConstructor
public class MessageProducer {

    private final ZolaQueueMessageTemplate template;

    public void send() {
        template.convertAndSend("MY-QUEUE", "foo");
    }
}

consume message

The 'zsmq.listening' attribute must be true when consuming a message.

@Component
@ZolaConsumer
public class MyConsumer {

    @ZolaMessageListener(queueName = "MY-QUEUE", deletionPolicy = DeletionPolicy.ALWAYS)
    public void listen(String message) {
        System.out.println("message = " + message);
    }
}

Check example to see the detailed configuration; there is a simple example using zsmq.

Motivation

One day, I tried to use a message queue simply for studying.

It was not relevant to the message queue.

But I spent most of my time setting up message queues(RabbitMQ, SQS) and building infrastructure.

It was a very tough time just to perform convertAndSend.

So I decided to create a server that has low performance but highly productive message queue.

This is the beginning of zsmq.

You might also like...

React Native app demonstrating using xmtp-js to send a message

XMTP React Native Example This is a work in progress to demonstrate importing xmtp-js into a React Native app. The example currently generates a rando

Dec 20, 2022

一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024

一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024

友情提示:因为提供了 50000+ 行示例代码,所以艿艿默认注释了所有 Maven Module。 胖友可以根据自己的需要,修改 pom.xml 即可。 一个涵盖六个主流技术栈的正经仓库: 《Spring Boot 专栏》 《Spring Cloud Alibaba 专栏》 《Spring Clou

Dec 31, 2022

参考 DDD/Clean Architecture 设计理念,整合 Spring Boot/Spring Security/Mybatis Plus/Vavr 的 Spring Realworld 应用案例

参考 DDD/Clean Architecture 设计理念,整合 Spring Boot/Spring Security/Mybatis Plus/Vavr 的 Spring Realworld 应用案例

Demo · 更多项目 · 参考资料 ms-spring-ddd-examples Unified Domain-driven Layered Architecture for MicroService Apps,试图探索一套切实可行的应用架构规范,可以复制、可以理解、可以落地、可以控制复杂性的指导

Sep 23, 2022

Spring Kurulumundan Başlayarak, Spring IOC ve Dependency Injection, Hibernate, Maven ve Spring Boot Konularına Giriş Yapıyoruz.

Spring Kurulumundan Başlayarak, Spring IOC ve Dependency Injection, Hibernate, Maven ve Spring Boot Konularına Giriş Yapıyoruz.

Spring Tutorial for Beginners File Directory Apache Tomcat Apache Tomcat - Eclipse Bağlantısı Spring Paketlerinin İndirilmesi ve Projeye Entegrasyonu

Apr 11, 2022

Spring Boot JdbcTemplate example with SQL Server: CRUD Rest API using Spring Data JDBC, Spring Web MVC

Spring Boot JdbcTemplate example with SQL Server: Build CRUD Rest API Build a Spring Boot CRUD Rest API example that uses Spring Data Jdbc to make CRU

Dec 20, 2022

Spring Boot & MongoDB Login and Registration example with JWT, Spring Security, Spring Data MongoDB

Spring Boot & MongoDB Login and Registration example with JWT, Spring Security, Spring Data MongoDB

Spring Boot Login and Registration example with MongoDB Build a Spring Boot Auth with HttpOnly Cookie, JWT, Spring Security and Spring Data MongoDB. Y

Dec 30, 2022

Spring Boot Login and Registration example with MySQL, JWT, Rest Api - Spring Boot Spring Security Login example

Spring Boot Login and Registration example with MySQL, JWT, Rest Api - Spring Boot Spring Security Login example

Spring Boot Login example with Spring Security, MySQL and JWT Appropriate Flow for User Login and Registration with JWT Spring Boot Rest Api Architect

Jan 5, 2023

Demo microservice architecture with Spring ,Spring Cloud Gateway , Spring Cloud config server , Eureuka , keycloak and Docker.

Demo microservice architecture with Spring ,Spring Cloud Gateway , Spring Cloud config server , Eureuka , keycloak and Docker.

spring-microservice Demo microservice architecture with Spring ,Spring Cloud Gateway , Spring Cloud config server , Eureuka , keycloak and Docker. Arc

Sep 13, 2022

Spring Boot JWT Authentication example with Spring Security & Spring Data JPA

Spring Boot JWT Authentication example with Spring Security & Spring Data JPA

Jan 26, 2022
Comments
  • [core] ZolaHttpClient connection leak warning

    [core] ZolaHttpClient connection leak warning

    image
    경고: A connection to http://localhost:8291/ was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);
    
    BUG 
    opened by dhslrl321 0
  • [spring] Running a spring boot test results in an exception that two bean are created

    [spring] Running a spring boot test results in an exception that two bean are created

    image
    Parameter 0 of constructor in com.github.dhslrl321.zsmq.ZsmqAutoconfiguration required a single bean, but 2 were found:
    	- zsmqProperty: defined in URL [jar:file:/Users/trevari/Desktop/git_repository/wonik/zsmq/zola-messaging-spring-boot-autoconfigure/build/libs/zola-messaging-spring-boot-autoconfigure-1.0.0.jar!/com/github/dhslrl321/zsmq/ZsmqProperty.class]
    	- zsmq-com.github.dhslrl321.zsmq.ZsmqProperty: defined in null
    
    BUG 
    opened by dhslrl321 2
Releases(1.0.0)
Owner
onigiri
Back End Developer
onigiri
Extremely simple and easy to use lucky blocks plugin!

SimpleLuckyBlocks plugin, the new fully customisable lucky blocks plugin Ever felt the need for a free, yet simple lucky blocks plugin? Well you've fo

Steven Zhu 4 Jun 8, 2022
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc

Spring 系列教程 该仓库为个人博客https://mrbird.cc中Spring系列源码,包含Spring Boot、Spring Boot & Shiro、Spring Cloud,Spring Boot & Spring Security & Spring Security OAuth2

mrbird 24.8k Jan 6, 2023
The most reliable world manager you've ever seen.

Rift2 - The Opening Electric Boogaloo The most reliable world manager you've ever seen. Contributors & creators: Cyberpwn Vatuu Psycho If you want to

Volmit Software 9 Dec 2, 2022
Ever wondered how a baloon feels in a dangerous place? Now you know.

Dont-Pop Description Ever wondered how a balloon feels in a dangerous place? Now you know. This game belongs to the category of Survival Games: the pl

Michele Ravaioli 9 Oct 24, 2022
An extremely flexible yet vanilla-esque multiblock mod, that embraces aspects of MultiblockTweaker and Modular Machinery.

Multiblocked Multiblocked (mbd) is an extremely flexible yet vanilla-esque multiblock mod, that embraces aspects of MultiblockTweaker and Modular Mach

Cleanroom 36 Jan 4, 2023
This app is simple and awesome notepad. It is a quick notepad editing experience when writing notes,emails,message,shoppings and to do list.

This app is simple and awesome notepad. It is a quick notepad editing experience when writing notes,emails,message,shoppings and to do list.It is easy to use and enjoy hassle free with pen and paper.

Md Arif Hossain 1 Jan 18, 2022
Tuya 37 Dec 26, 2022
该仓库中主要是 Spring Boot 的入门学习教程以及一些常用的 Spring Boot 实战项目教程,包括 Spring Boot 使用的各种示例代码,同时也包括一些实战项目的项目源码和效果展示,实战项目包括基本的 web 开发以及目前大家普遍使用的线上博客项目/企业大型商城系统/前后端分离实践项目等,摆脱各种 hello world 入门案例的束缚,真正的掌握 Spring Boot 开发。

Spring Boot Projects 该仓库中主要是 Spring Boot 的入门学习教程以及一些常用的 Spring Boot 实战项目教程,包括 Spring Boot 使用的各种示例代码,同时也包括一些实战项目的项目源码和效果展示,实战项目包括基本的 web 开发以及目前大家普遍使用的前

十三 4.5k Dec 30, 2022
Slueth(Zipkin) 를 통한 SQS Message Tracing POC(Proof of concept) 입니다.

Sleuth AWS SQS POC 해당 프로젝트는 Slueth(Zipkin) 를 통한 메시지 추적 POC(Proof of concept) 입니다. Rest API 를 통해 POST 요청을 받으면, 메시지를 발행/소비 합니다. 이 과정에서 유지되는 TraceId 를 확인

Hyunjin Jeong 10 Nov 29, 2022
Plugin for Spigot, PaperMC, BungeeCord and Velocity to create custom MOTDs, playercount message and playercount hover with priorities and conditions.

AdvancedServerList AdvancedServerList is a server and proxy plugin that allows you to create custom MOTDs and more in your server list with priority a

Andre_601 19 Dec 14, 2022