Maison  >  Article  >  Java  >  Comment utiliser Java pour développer une application de file d'attente de messages hautes performances basée sur Artemis

Comment utiliser Java pour développer une application de file d'attente de messages hautes performances basée sur Artemis

PHPz
PHPzoriginal
2023-09-22 08:12:15802parcourir

Comment utiliser Java pour développer une application de file dattente de messages hautes performances basée sur Artemis

Comment utiliser Java pour développer une application de file d'attente de messages hautes performances basée sur Artemis

Introduction :
Avec la popularité d'Internet et le développement des technologies de l'information, les files d'attente de messages sont devenues l'une des solutions courantes pour la création de messages distribués. systèmes et architectures de microservices . Artemis est un middleware de messagerie puissant et performant adapté à divers scénarios d'application. Cet article expliquera comment utiliser Java pour développer une application de file d'attente de messages hautes performances basée sur Artemis et fournira des exemples de code spécifiques.

1. Préparation

  1. Télécharger et installer le JDK : Nous devons d'abord télécharger et installer le kit de développement Java (JDK) pour nous assurer que le système a été correctement installé et configuré avec les variables d'environnement Java.
  2. Téléchargez et installez Artemis : Ensuite, nous devons télécharger le middleware de messages Artemis. Vous pouvez télécharger la dernière version d'Artemis depuis le site officiel d'ActiveMQ (https://activemq.apache.org/artemis/).
  3. Créez un nouveau projet : créez un nouveau projet Java dans votre environnement de développement et importez le package jar approprié d'Artemis. Les dépendances du projet peuvent être gérées à l'aide des outils de construction Maven ou Gradle.

2. Configurer Artemis

  1. Créez un fichier de configuration : Créez un fichier de configuration nommé broker.xml dans le projet et configurez le contenu suivant :
<configuration>
   <core xmlns="urn:activemq:core">
      <bindings-directory>./data/bindings</bindings-directory>
      <journal-directory>./data/journal</journal-directory>
      <large-messages-directory>./data/large-messages</large-messages-directory>
      <paging-directory>./data/paging</paging-directory>
      <connectors>
         <connector name="netty-connector">tcp://localhost:61616</connector>
      </connectors>
      <acceptors>
         <acceptor name="netty-acceptor">tcp://localhost:61616</acceptor>
      </acceptors>
   </core>
</configuration>

Le fichier de configuration ci-dessus définit le stockage et la connexion du middleware de messages Artemis. configuration.

  1. Démarrez le serveur Artemis : Exécutez la commande suivante via la ligne de commande pour démarrer le serveur Artemis :
./artemis run

3. Écrivez du code Java

  1. Créez un producteur
    Créez une classe nommée Producer dans le projet Java pour envoyer des messages à la file d'attente des messages Artemis.
import javax.jms.*;

public class Producer {

    public static void main(String[] args) throws Exception {
        // 创建连接工厂
        ConnectionFactory factory = new org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory("tcp://localhost:61616");

        // 创建连接
        Connection connection = factory.createConnection();
        connection.start();

        // 创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        // 创建目标
        Destination destination = session.createQueue("exampleQueue");

        // 创建生产者
        MessageProducer producer = session.createProducer(destination);

        // 创建消息
        TextMessage message = session.createTextMessage("Hello, Artemis!");

        // 发送消息
        producer.send(message);

        // 关闭连接
        session.close();
        connection.close();
    }
}
  1. Créer un consommateur
    Créez une classe appelée Consumer dans votre projet Java pour recevoir les messages de la file d'attente de messages Artemis.
import javax.jms.*;

public class Consumer implements MessageListener {

    public static void main(String[] args) throws Exception {
        // 创建连接工厂
        ConnectionFactory factory = new org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory("tcp://localhost:61616");

        // 创建连接
        Connection connection = factory.createConnection();
        connection.start();

        // 创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        // 创建目标
        Destination destination = session.createQueue("exampleQueue");

        // 创建消费者
        MessageConsumer consumer = session.createConsumer(destination);
        consumer.setMessageListener(new Consumer());

        // 等待接收消息
        Thread.sleep(10000);

        // 关闭连接
        session.close();
        connection.close();
    }

    @Override
    public void onMessage(Message message) {
        try {
            // 处理接收到的消息
            if (message instanceof TextMessage) {
                TextMessage textMessage = (TextMessage) message;
                System.out.println("Received message: " + textMessage.getText());
            }
        } catch (JMSException e) {
            e.printStackTrace();
        }
    }
}

4. Exécutez le code

  1. Démarrez le producteur : exécutez le fichier Producer.java.
  2. Démarrez le consommateur : exécutez le fichier Consumer.java.
  3. Vérifiez les résultats : une fois que le producteur aura envoyé le message, le consommateur recevra et imprimera le message reçu.

Résumé :
Développer une application de file d'attente de messages hautes performances basée sur Artemis en utilisant Java est une tâche très pratique et stimulante. Cet article explique comment configurer le middleware de messages Artemis et fournit des exemples de code Java pour aider les lecteurs à commencer rapidement à développer leurs propres applications de file d'attente de messages. En acquérant les connaissances décrites dans cet article, les lecteurs seront en mesure de créer des systèmes distribués et des architectures de microservices fiables et performants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn