Java,ActiveMQ,内置Broker,三种嵌入式方式[通俗易懂]

Java,ActiveMQ,内置Broker,三种嵌入式方式[通俗易懂]ActiveMQ的BrokerBroker,翻译:经纪人、代理,相当于一个ActiveMQ服务器实例,Broker其实就是实现了用代码的形式启动

大家好,欢迎来到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");
    }

}

官方文档说明:

Java,ActiveMQ,内置Broker,三种嵌入式方式[通俗易懂]

Java,ActiveMQ,内置Broker,三种嵌入式方式[通俗易懂]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/7067.html

(0)
上一篇 2023-01-03 09:53
下一篇 2023-01-03 09:53

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信