ActiveMq 本地安装及启动(Windows)

https://blog.csdn.net/mr_haixin/article/details/80418204 —已测试OK
ActiveMq 本地安装及启动(Windows)ActiveMq 本地安装及启动(Windows)注意:Apache ActiveMQ 各个版本所依赖的JDK版本https://blog.csdn.net/yanfeipei/article/details/75267384
ActiveMq 本地安装及启动(Windows)附录一段代码
package com.wkcto.crm.utils;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;

public class ActivemqQueue {

/**
 * @param args  接收信息方
 *@param
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	        receive();
	    }

private static void receive() {
	  MessageConsumer consumer =null;
        Session session=null;
        Connection connection=null;
        try {
            //1.根据Broker地址创建连接工厂对象
            ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://localhost:61616");
            //2.创建连接对象
            connection=connectionFactory.createConnection();
            connection.start();//接收消息前前必须要start否则无法读取消息,线程会阻塞在receive()方法上
            //3.创建Session回话对象,
            // 参数1为是否使用事务性的消息 false表示不使用事务 true表示使用事务
            //参数2表示消息的确认机制,会影响消息的接收方法而不会影响发送方法Session.AUTO_ACKNOWLEDGE表示自动确认
            session=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);

            //4.创建一个目的地对象,createQueue创建一个基于点对点的目的地对象,参数为目的地名称,需要与发送时对应
            Destination destination=session.createQueue("myQueue");

            //5.创建消息的接收者 ,并设定从哪里获取消息
            consumer =session.createConsumer(destination);

            //6从消息服务中读取消息(receive是同步获取消息的)
            Message message= consumer.receive();
            //获取消息的具体内容
            if(message instanceof TextMessage){
                System.out.println(((TextMessage) message).getText());
            }

        } catch (JMSException e) {
            e.printStackTrace();
        }finally {
            if(consumer!=null){
                try {
                    consumer.close();
                } catch (JMSException e) {
                    e.printStackTrace();
                }
            }

            if(session!=null){
                try {
                    session.close();
                } catch (JMSException e) {
                    e.printStackTrace();
                }
            }
            if(connection!=null){
                try {
                    connection.close();
                } catch (JMSException e) {
                    e.printStackTrace();
                }
            }
        }
	
	
}

}

package com.wkcto.crm.utils;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class ActivemqQueue2 {

/**
 * @param args  发送信息方
 *@param
 */
public static void main(String[] args) {
	  send();

}

private static void send() {
	MessageProducer producer=null;
    Session session= null;
    Connection connection=null;
    try {
        //1.根据Broker地址创建连接工厂对象
        ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://localhost:61616");
        //2.创建连接对象
        connection=connectionFactory.createConnection();
        //3.创建Session回话对象,
        // 参数1为是否使用事务性的消息 false表示不使用事务 true表示使用事务
        //参数2表示消息的确认机制,会影响消息的接收方法而不会影响发送方法Session.AUTO_ACKNOWLEDGE表示自动确认
        session=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
        //4.创建一个目的地对象,createQueue创建一个基于点对点的目的地对象,参数为目的地名称,需要与接收时对应
        Destination destination=session.createQueue("myQueue");
        //5.创建一个文本类型的消息,并设定消息的数据内容
        TextMessage message=session.createTextMessage();
        //6.创建消息的发送者 ,并设定消息的发送位置
        producer=session.createProducer(destination);
        //7.发送消息到指定的目的地
        for(long i=0;;i++){
           message.setText("queue的测试"+i);
            producer.send(message);
        }

// System.out.println(“消息发送成功”);
} catch (JMSException e) {
e.printStackTrace();
}finally {
if(producer!=null){
try {
producer.close();
} catch (JMSException e) {
e.printStackTrace();
}
}

        if(session!=null){
            try {
                session.close();
            } catch (JMSException e) {
                e.printStackTrace();
            }
        }
        if(connection!=null){
            try {
                connection.close();
            } catch (JMSException e) {
                e.printStackTrace();
            }
        }
    }
}

}