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

OSCHINA-MIRROR/HingLo-C-ActivemqPlugin

Клонировать/Скачать
README.md 4.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 12:37 2bc8b80

Описание

ActivemqPlugin — это плагин для сообщений на основе ActiveMq, предназначенный для быстрой интеграции с JFinal.

Адрес проекта: http://www.gitee.com/hinglo-c/ActivemqPlugin

Способ использования

1. Клонируйте проект с помощью git на локальную машину и установите его в локальный репозиторий. Установка в локальный репозиторий обязательна, так как плагин не загружен в центральный репозиторий.

2. Включите зависимость в файле pom.xml

    <dependency>
        <groupId>cn.hinglo.activemq</groupId>
        <artifactId>activemqplugin</artifactId>
        <version>1.0.0</version>
    </dependency>

3. В конфигурационном методе public void configPlugin(Plugins plugins) класса JfinalConfig добавьте плагин. Конфигурация приведена ниже, для других параметров убедитесь, что вы их правильно настроили.

    ActiveMqPlugin activeMqPlugin = new ActiveMqPlugin("tcp://127.0.0.1:61616");
    plugins.add(activeMqPlugin);

4. Отправка сообщений: способ 1: Использование объекта сообщения из библиотеки ActiveMQ из Apache, создание сообщения, например:

ActiveMQTextMessage message = new ActiveMQTextMessage();
message.setText("Hello world");
// Отправка сообщения в очередь, параметры: имя очереди, объект сообщения, для отправки сообщения в тему используйте: sendTopicsMsg
SendMsgKit.sendQueueMsg("queue-test", message);
```способ 2: Использование сессии для создания и отправки сообщений через native JMS интерфейс,
```java
// Используем SessionKit для получения сессии
Session session = SessionKit.getJmsSession();
TextMessage message = session.createTextMessage("Сообщение, созданное с помощью сессии");
// Отправка сообщения в очередь, параметры: имя очереди, объект сообщения, сессия, для отправки сообщения в тему используйте: sendTopicsMsg
SendMsgKit.sendQueueMsg("queue-test", message, session);

5. Прослушивание сообщений: для прослушивания сообщений необходимо реализовать интерфейс MessageListener из JMS и пометить его аннотацией @MsgListener, аннотация имеет два параметра: имя очереди и тип очереди (очередь или тема), например:

@MsgListener("queue-test")
public class TestMessageListener implements MessageListener {
    @Override
    public void onMessage(Message message) {
        TextMessage textMessage = (TextMessage) message;
        try {
            System.out.println(textMessage.getText());
        } catch (JMSException e) {
            e.printStackTrace();
        }
    }
}

Внимание: В плагине ActiveMqPlugin есть другие настройки, которые можно использовать, если необходимо прослушивать несколько очередей и различать сообщения по очереди, обратитесь к: https://blog.csdn.net/whs_321/article/details/75349112

// Основной код
ActiveMQDestination queues = (ActiveMQDestination) message.getJMSDestination();
if (queues.getPhysicalName().equalsIgnoreCase("queue1")) {
    // Бизнес-логика ...
} else if (queues.getPhysicalName().equalsIgnoreCase("queue2")) {
    // Бизнес-логика ...
} ...
```## Завершение
**Это мой первый опыт работы с ActiveMQ, используемые элементы довольно просты, функционал плагинов ограничен, поэтому реализуется только базовая отправка сообщений. Если в коде есть ошибки, прошу вас указать на них и дать советы. Также вы можете внести изменения в код в соответствии со своими требованиями.**

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/HingLo-C-ActivemqPlugin.git
git@api.gitlife.ru:oschina-mirror/HingLo-C-ActivemqPlugin.git
oschina-mirror
HingLo-C-ActivemqPlugin
HingLo-C-ActivemqPlugin
master