ActiveMQ使用之HelloWord

[size=large]一、下载MQ:[/size]
官网http://activemq.apache.org/下载,选择windows版本学习,项目当中使用linux版本进行集群。

[size=large]二、解压目录介绍[/size]
Bin:启动脚本.bin/activemq.bat是启动MQ的脚本
Conf:mq核心配置。
activemq.xml核心配置
Jetty:管控界面
Users.properties:用户名密码
Data:kahaDB文件
Webapps:管控台使用

[img]http://dl2.iteye.com/upload/attachment/0125/1863/645a103f-daf2-324d-a2af-8fb57c7a1eb0.png[/img]

[size=large]三、启动MQ,管控台介绍[/size]
Home :查看broker相关信息
Queues:队列相关信息
Topics:主题订阅相关信息
Subscribers:订阅者相关信息
Connections:连接信息
Network:集群连接信息
Send:模拟发送MQ信息

[img]http://dl2.iteye.com/upload/attachment/0125/1865/96a0df0f-c2e8-3d36-93a3-b9c3386dd890.png[/img]


----------------------------------------------------------------------------[size=large]heloword实例[/size]----------------------------------------------------------------------------

[size=medium][b]1、生产者端[/b][/size]


/**
* Hello world!
*
*/
public class Sender {
public static void main( String[] args ) throws Exception
{
//建立connectionFactory工厂对象,填入用户名、密码以及要连接的地址,均使用默认即可,默认端口为"tcp://localhost:61616"
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();

//通过connectionFactory工厂对象创建connection连接,并且调用connection的start方法开启连接,connection默认是关闭的
Connection connection = connectionFactory.createConnection(ActiveMQConnectionFactory.DEFAULT_USER, ActiveMQConnectionFactory.DEFAULT_PASSWORD);
connection.start();

//通过connection对象创建session会话(上下文环境对象),用于接收消息,参一表示是否启用事务,参二表示签收模式,一般我们设置自动签收。
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

//通过session创建destination对象,指的是一个客户端用来指定生产消息目标和消费消息的来源的对象。
//在p2p模式中,destination被称作Queue即队列,在pub/sub模式中,destination被称作Topic即主题。
Destination destination = session.createQueue("first");

//通过session对象创建消息的发送/接收对象(生产者/消费者)MessageProducer/MessageConsumer
MessageProducer producer = session.createProducer(null);

for (int i = 0; i < 50; i++) {
//使用JMS规范的TextMessage形式创建数据(通过session对象),并用MessageProducer的send方法发送对象。同理客户端使用receive方法进行接收数据。最后关闭connection连接。
TextMessage msg = session.createTextMessage("消息内容"+i);
//一参 目标地址
//二参 具体数据信息
//三参 传送数据模式
//四参 优先级
//五参 消息过期时间
producer.send(destination,msg);
}

if(connection !=null){
connection.close();
}


}
}


[b]
运行消息结果:[/b]

[img]http://dl2.iteye.com/upload/attachment/0125/1871/0616caa7-416e-39ec-acb5-217bc25d8c8e.png[/img]

[size=medium][b] 2、消费端[/b][/size]


public class Receiver {

public static void main(String[] args) throws Exception {

ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();

Connection connection = connectionFactory.createConnection(ActiveMQConnectionFactory.DEFAULT_USER,ActiveMQConnectionFactory.DEFAULT_PASSWORD);
// Connection connection = connectionFactory.createConnection("fu","fu");

connection.start();

Session session = connection.createSession(Boolean.FALSE, Session.CLIENT_ACKNOWLEDGE);

Destination destination = session.createQueue("first");
// 通过session对象创建消息的发送/接收对象(生产者/消费者)MessageProducer/MessageConsumer
MessageConsumer consumer = session.createConsumer(destination);

while (true) {
// 使用JMS规范的TextMessage形式创建数据(通过session对象),并用MessageProducer的send方法发送对象。同理客户端使用receive方法进行接收数据。最后关闭connection连接。
TextMessage msg = (TextMessage) consumer.receive();
// 手工签收消息
msg.acknowledge();
System.out.println("消费数据:" + msg.getText());
}

}

}


[b]
消费端运行结果:
[/b]

[img]http://dl2.iteye.com/upload/attachment/0125/1873/1cd1c467-c91c-3787-9790-7cdcfcfd3c4c.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0125/1875/81e86344-ae06-3bbb-8bc5-7ba8f59d8315.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值