大家好,欢迎来到IT知识分享网。
ActiveMQ的Broker
Broker,翻译:经纪人、代理,相当于一个ActiveMQ服务器实例,Broker其实就是实现了用代码的形式启动ActiveMQ,将MQ嵌入到Java代码中。
Linux安装,一个Broker认为是一个ActiveMQ软件,可以把activemq.xml配置文件复制几份,就可实现一台服务器上启动多个Broker。
ActiveMQ除了可以作为独立进程单独部署在服务器上之外,也可以小巧地内嵌在程序中启动,内置Broker启动的3种方式,如下代码。
1、代码中直接启动
import org.apache.activemq.broker.BrokerService;
/**
* 代码直接启动
*/
public class InnerEmbedBroker {
public static void main(String[] args) {
//ActiveMQ支持基于VM中通信基于嵌入式的broker
BrokerService brokerService = new BrokerService();
try {
//启用broker的JMX监控功能
brokerService.setUseJmx(true);
// 设置broker名字
brokerService.setBrokerName("MyBroker");
// 是否使用持久化
brokerService.setPersistent(false);
// 添加连接协议,地址
brokerService.addConnector("tcp://localhost:61616");
brokerService.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
IT知识分享网
2、工厂模式启动
IT知识分享网import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
import java.net.URI;
public class InnerFactoryBroker {
public static void main(String[] args) {
String uri = "properties:broker.properties";
try {
BrokerService brokerService = BrokerFactory.createBroker(new URI(uri));
brokerService.addConnector("tcp://localhost:61616");
brokerService.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3、Spring启动(配置文件)
resources/application-beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="broker" class="org.apache.activemq.broker.BrokerService" init-method="start" destroy-method="stop">
<property name="brokerName" value="SpringBroker"/>
<property name="persistent" value="false"/>
<property name="transportConnectorURIs">
<list>
<value>tcp://localhost:61616</value>
</list>
</property>
</bean>
</beans>
IT知识分享网import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringBroker {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("application-beans.xml");
}
}
官方文档说明:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/7067.html