1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tech-famer-reliablemessage-spring-boot-starter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ReliableMessage-Spring-Boot-Starter

Введение

Это надёжный компонент сообщений на основе RabbitMQ для Spring Boot, который поддерживает транзакционные сообщения, откат сообщений, повторную отправку в случае сбоя и т. д.

Инструкция по установке

Проект можно установить тремя способами:

  1. Опубликовать проект в частном репозитории с помощью команды Maven: mvn clean package deploy. В используемом проекте добавьте зависимость компонента следующим образом:
<depandency>
    <groupId>com.farmer.reliablemessage</groupId>
    <artifactId>reliablemessage-spring-boot-starter</artifactId>
    <version>1.0-SNAPSHOT</version>
</depandency>
  1. Опубликовать проект локально с помощью команды Maven: mvn clean package install. В локальном проекте добавьте зависимость компонента следующим образом:
<depandency>
    <groupId>com.farmer.reliablemessage</groupId>
    <artifactId>reliablemessage-spring-boot-starter</artifactId>
    <version>1.0-SNAPSHOT</version>
</depandency>
  1. Скопируйте исходный код проекта непосредственно в нужный проект для использования.

Использование

  1. Компонент будет хранить сообщения в базе данных, где первичный ключ имеет тип VARCHAR(). Пользователь должен предоставить spring bean для генерации первичного ключа, реализующий интерфейс com.farmer.reliablemessage.api.IDApi. Компонент включает встроенный класс для создания первичных ключей com.farmer.reliablemessage.DefaultIDApi, который использует алгоритм UUID. Пользователи могут реализовать свой собственный алгоритм, например, алгоритм снежинки. Вот пример:
@Configuration
public class IdConfig {

    @Bean
    public IDApi idApi(){
        return new IDApi() {
            @Override
            public String nextID() {
                return UUID.randomUUID().toString().replace("-","");
            }
        };
    }
}
  1. В классе, где необходимо отправить сообщение, импортируйте MQTemplate, предоставленный надёжным компонентом сообщений:
@Service
public class TestService {

    @Autowired
    private MQTemplate mqTemplate;

    @Transactional
    public void test(){
        mqTemplate.saveAndSendMessage("exchangeName","routingKey","payload");
    }
}

Компонент предоставляет только один метод saveAndSendMessage, где параметр 1 — это имя обмена, параметр 2 — ключ маршрутизации, а параметр 3 — тело сообщения.

Примечание

  1. Надёжные сообщения поддерживают транзакции. Когда они используются в методе транзакции, надёжные сообщения отправляются после фиксации транзакции. Сообщения откатываются автоматически при откате транзакции.
  2. Фиксация и откат транзакции в пункте 1 поддерживают распространение. Например, если метод A аннотирован @Transactional, и надёжные сообщения используются в соответствии с пунктом 1, то вызов метода B из метода A также будет поддерживать надёжные сообщения, если B не аннотирован или аннотирован с помощью @Transactional(propagation = Propagation.REQUIRED).
  3. Надёжные сообщения гарантируют только доставку сообщений, но не повторную отправку. Поэтому потребитель должен обеспечить обработку сообщений без дублирования.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/tech-famer-reliablemessage-spring-boot-starter.git
git@gitlife.ru:oschina-mirror/tech-famer-reliablemessage-spring-boot-starter.git
oschina-mirror
tech-famer-reliablemessage-spring-boot-starter
tech-famer-reliablemessage-spring-boot-starter
master