ActiveMQ簡単入門(初心者必見編)

4809 ワード

一、簡単なハローワールドの事例を作成します。
まずactivemq-all-514.5.jarパッケージを導入し、生産端を書く必要があります。

package com.ietree.mq.helloworld;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

public class Sender {
  public static void main(String[] args) throws Exception {
    //    :  ConnectionFactory    ,       、  、        ,       ,     :tcp://localhost:61616
    ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
        ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616");

    //    :  ConnectionFactory          Connection  ,    ConnectionFactory start      ,Connection      
    Connection connection = connectionFactory.createConnection();
    connection.start();

    //    :  Connection    Session  (       ),      ,    1       ,    2     ,           
    Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

    //    :  Session  Destination  ,                            , PTP   ,Destination   Queue   ; Pub/Sub  ,Destination   Topic   。          Queue Topic。
    Destination destination = session.createQueue("queue1");

    //    :      Session              (       )MessageProducer/MessageConsumer。
    MessageProducer messageProducer = session.createProducer(destination);

    //    :      MessageProducer setDeliveryMode                  (DeliveryMode)
    messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

    //    :      JMS   TextMessage      (  Session  ),  MessageProducer send      。  ,     receive        ,      Connection  。
    for (int i = 0; i < 5; i++) {
      TextMessage textMessage = session.createTextMessage();
      textMessage.setText("      ......" + i);
      messageProducer.send(textMessage);
      System.out.println("   :" + textMessage.getText());
    }

    if (connection != null) {
      connection.close();
    }
  }
}
書き込み端末:

package com.ietree.mq.helloworld;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

public class Receiver {

  public static void main(String[] args) throws Exception {
    //    :  ConnectionFactory    ,       、  、        ,       ,     :tcp://localhost:61616
    ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
        ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616");

    //    :  ConnectionFactory          Connection  ,    ConnectionFactory start      ,Connection      
    Connection connection = connectionFactory.createConnection();
    connection.start();

    //    :  Connection    Session  (       ),      ,    1       ,    2     ,           
    Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

    //    :  Session  Destination  ,                            , PTP   ,Destination   Queue   ; Pub/Sub  ,Destination   Topic   。          Queue Topic。
    Destination destination = session.createQueue("queue1");

    //    :      Session              (       )MessageProducer/MessageConsumer。
    MessageConsumer messageConsumer = session.createConsumer(destination);
    
    while (true) {
      TextMessage msg = (TextMessage) messageConsumer.receive();
      if(msg == null){
        break;
      }
      System.out.println("      :" + msg.getText());
    }

    if (connection != null) {
      connection.close();
    }
  }
}
通過するhttp://localhost:8161/admin/queues.jspパスはメッセージの消費状況を調べます。
二、ActiveMQ安全メカニズム
activeMQのWeb管理画面:http://127.0.0.1:8161/admin
activeMQ制御台はキティの配置を使用していますので、パスワードを変更する必要があります。対応する配置ファイルが必要です。apache-activemq-514.5\conf\jey-realm.properties。
activeMQはセキュリティ機構を設置して、認証に該当するユーザーだけがメッセージを送信して取得することができるので、activemq.xmlにセキュリティ検証構成を追加することもできます。apache-activemq-514.5\conf\jece-realm.propertivemq.xmlは123行の後にプラグインの配置を追加すればいいです。
以上のActiveMQ簡単入門(新米必見編)は小編が皆さんに提供した内容の全部です。参考にしていただければと思います。どうぞよろしくお願いします。