可以将ActiveMQ理解成一个服务器。
1 . ActiveMQ 的下载和安装:
下载地址: http://activemq.apache.org/download.html
下载最新版的ActiveMQ即可。
下载后直接解压到要安装的目录即可,不需要安装过程。
2 .ActiveMQ的启动:
win+R –> cmd –>跳转到安装目录的bin文件夹下面
输入activemq start 即可启动。
出现图中下面的东西,说明启动成功。
3 . 检测ActiveMQ是否启动成功:
当然,我们可以通过另一种方式检测是否启动成功—>
(1)打开浏览器
(2)http://localhost:8161/admin
默认的账号密码是 admin admin
出现此界面表示已经启动成功。
接下来,我们在eclipse平台上演示一个简单的实现ActiveMQ的小例子:
我们需要做以下几件事:
(1)建一个java Project
(2)导入需要依赖的jar包
(3)写一个Message Sender
(4)写一个Message Receiver
(5)测试运行,查看结果
1.建立一个java Project, 建立一个lib文件夹,导入需要依赖的jar包,有两个依赖的jar包,分别为 activemq-all-5.15.2.jar 和 jms-1.1.jar,下载地址:jar包下载
2 . 写一个Message Sender(Sender.java):
package ActiveTest;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
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 conectionFactory =
new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = conectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("my-queue");
MessageProducer producer = session.createProducer(destination);
for(int i=0; i<3; i++) {
TextMessage message = session.createTextMessage("message--"+i);
Thread.sleep(1000);
producer.send(message);
}
//批量发送
session.commit();
session.close();
connection.close();
}
}
3.写一个Message Receiver(Receiver.java):
package ActiveTest;
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 cf = new ActiveMQConnectionFactory("tcp://localhost:61616");
//在连接工厂中创建与JMS的连接
Connection connection = cf.createConnection();
connection.start();
//创建一路会话,session.AUTO_ACKNOWLEDGE表示自动签收
//当session.commit执行的时候,表示消息接收成功
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
//获得消息的目的的
Destination destination = session.createQueue("my-queue");
MessageConsumer consumer = session.createConsumer(destination);
int i=0;
while(i<3) {
i++;
TextMessage message = (TextMessage)consumer.receive();
session.commit();
System.out.println("收到消息:"+message.getText());
}
session.close();
connection.close();
}
}
4.测试:
(1)先运行Sender.java
(2) 再运行Receiver.java
测试成功!
好了,到此,一个简单的ActiveMQ测试小例子就做好了。
共勉。