ActiveMQ学习笔记(5)----Broker的启动方式

Broker:相当于一个ActiveMQ服务器实例,在实际的开发中我们可以启动多个Broker.网址:yii666.com<

命令行启动参数示例如下:网址:yii666.com

  1. activemq start 使用默认的activemq.xml来启动。

  2. activemq start xbean:file../conf/active-2.xml来使用指定的配置文件来启动

  3. 如果不指定file,也就是xbean:activemq-2.xml,那么xml必须在classpath下文章来源地址:https://www.yii666.com/article/764249.html

使用ActiveMQ来构建Java运用

  这里主要将ActiveMQ Broker作为独立的消息服务器来构建JAVA应用。

  ActiveMQ也支持在vm中通信基于嵌入式的broker,能够无缝的集成其他的java应用。

1. 嵌入式Borker启动

  BrokerService启动Broker,示例如下:

package com.wangx.activemq.broker;

import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService; import java.net.URI; public class InnerBroker { public static void main(String[] args) throws Exception {
//基于嵌入式的Broker启动broker
BrokerService broker = new BrokerService(); broker.setUseJmx(true);
//指定访问地址
broker.addConnector("tcp://localhost:8888");
broker.start();
}
}

  使用前面的生产者和消费者,在初始化连接工厂时将链接改为tcp://localhost:8888,可以成功的发送和接收消息。

基于BrokerFactory启动broker,示例如下:

package com.wangx.activemq.broker;

import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService; import java.net.URI; public class InnerBroker { public static void main(String[] args) throws Exception {
//properties.properties 放到classpath下
String URI = "properties:properties.properties";
BrokerService brokerService = BrokerFactory.createBroker(new URI(URI));
brokerService.addConnector("tcp://localhost:8888");
brokerService.start();
}
}
properties.properties文件如下:
useJms=true
persistent=false
# 随意设置的broker的name
bokerName=Cheese

  使用前面的生产者和消费者,在初始化连接工厂时将链接改为tcp://localhost:8888,可以成功的发送和接收消息。

使用Spring来集成Broker

  首先引入Spring的核心以来。pom文件如下:

 <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>

  Spring配置文件如下applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "> <!--使用最简单的Spring集成Broker,复杂的会有一些权限控制,这里先不演示
由于指定了init-method="start" destroy-method="stop" 所以这里的只需要读取spring的配置文件,将其装载到bean容器中,
启动和关闭broker都交由spring的生命周期来管理,使用 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
启动,即可开启Broker,不需要任何多余的代码
-->
<bean id="broker" class="org.apache.activemq.broker.BrokerService" init-method="start" destroy-method="stop">
<property name="brokerName" value="myBroker"/>
<property name="persistent" value="false"/>
<property name="transportConnectorURIs">
<list>
<value>tcp://localhost:8888</value>
</list>
</property> </bean>
</beans>
使用最简单的Spring集成Broker,复杂的会有一些权限控制,这里先不演示,由于指定了init-method="start" destroy-method="stop" 所以这里的只需要读取spring的配置文件,将其装载到bean容器中,启动和关闭broker都交由spring的生命周期来管理,
使用 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");启动,即可开启Broker,不需要任何多余的代码。启动类如下:
package com.wangx.activemq.spring;

import org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
import org.springframework.context.ApplicationContext; public class SpringBroker { public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}

  使用前面的生产者和消费者,在初始化连接工厂时将链接改为tcp://localhost:8888,可以成功的发送和接收消息。

  还可以配置BrokerFactoryBean读取activemq.xml文件方式来集成Spring

  bean配置如下:文章来源地址https://www.yii666.com/article/764249.html

<bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
<property name="config" value="activema.xml"/>
<property name="start" value="true"/>
</bean>

2. ActiveMQ的启动

  1. 可以通过在应用程序中以编码的方式启动broker,例如broker.start();文章地址https://www.yii666.com/article/764249.html

    如果需要启动多个Broker,那么需要为每个broker设置不同的名字和host:port(地址)

    例如:

package com.wangx.activemq.broker;

import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService; import java.net.URI; public class InnerBroker { public static void main(String[] args) throws Exception {
//基于嵌入式的Broker启动broker
BrokerService broker = new BrokerService(); broker.setUseJmx(true);
broker.setBrokerName("one");
//指定访问地址
broker.addConnector("tcp://localhost:8888");
broker.start();
}
}

2. 通过Spring启动,前面都已经演示过了。

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

ActiveMQ学习笔记(5)----Broker的启动方式-相关文章

  1. mosquitto broker 安装服务后启动失败

  2. MQTT的学习研究(二)moquette-mqtt 的使用之mqtt broker的启动

  3. ActiveMQ学习笔记(5)----Broker的启动方式

  4. MQTT研究之mosquitto:【环境搭建】

  5. mosquitto 常用命令

  6. RocketMQ原理解析-Broker

    broker 1. broker的启动brker的启动Broker向namesrv注册Topic在broker文件上的存储json格式Namesrv接收Broker注册的topic信息, namesrv只存内存,但是broker有任务定时推送1.      接收数据向RouteInfoManager注册。Broker初始化加载本地配置,配置信息是以json格式存储在本地, rocketmq强依赖fastjs

  7. Mosquitto搭建Android推送服务(二)Mosquitto简介及搭建

    文章钢要:1、了解Mosquitto服务器2、在Liunx中搭建Mosquitto服务器3、设置Mosquitto集群一、Mosquitto简介一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功

  8. QMQ去哪儿网-mq中间件(启动失败)

    简介去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ 。QMQ 自 2012 年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。目前在公司内部日常消息 qps 在 60W 左右,生产上承载将近 4W+ 消息 topic ,消息的端

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png