ActiveMQ(十一)--Broker的启动方式

Broker:相当于一个ActiveMQ服务器实例

命令行启动参数实例:
1. ./activemq start:使用默认的activemq.xml来启动
2. ./activemq start xbean:file:../conf/activemq-2.xml   使用指定的配置文件来启动
3.如果不指定file,也就是xbean:activemq-2.xml,那么xml必须在classpath下面

用ActiveMQ来构建Java应用

这里主要讲用ActiveMQ Broker作为独立的消息服务器来构建Java应用。ActiveMQ也支持在vm中通信基于嵌入式的Broker,能够无缝的集成其它Java应用。

嵌入式Broker启动
1.Broker service启动broker

import org.apache.activemq.broker.BrokerService;

public class InnerBroker {
    public static void main(String[] args) throws Exception {
        BrokerService broker = new BrokerService();
        broker.setUseJmx(true);
        broker.addConnector("tcp://localhost:61616");
        broker.start();
    }
}

2.BrokerFactory启动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 {
//        BrokerService broker = new BrokerService();
//        broker.setUseJmx(true);
//        broker.addConnector("tcp://localhost:61616");
//        broker.start();

        String uri = "properties:broker.properties";
        BrokerService broker1 = BrokerFactory.createBroker(new URI(uri));
        broker1.addConnector("tcp://localhost:61616");
        broker1.start();

    }
}

broker.properties的内容

useJmx=true
persistent=false
brokerName=Cheese

3.利用spring集成broker

applicationContext.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"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">

    <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:61616</value>
            </list>
        </property>
    </bean>

</beans>

启动文件

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class InnerBroker {
    public static void main(String[] args) throws Exception {
//        BrokerService broker = new BrokerService();
//        broker.setUseJmx(true);
//        broker.addConnector("tcp://localhost:61616");
//        broker.start();


//        String uri = "properties:broker.properties";
//        BrokerService broker1 = BrokerFactory.createBroker(new URI(uri));
//        broker1.addConnector("tcp://localhost:61616");
//        broker1.start();

        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");


    }
}

只要加载一下spring的配置文件,内嵌的broker就启动了。

ActiveMQ的启动:

1.可以通过在应用程序中以编码的方式启动broker,例如:borker.start();

如果需要启动多个broker,那么需要为broker设置一个名字。例如:

BrokerService broker = new BrokerService();

broker.setName("fred");

broker.addConnector("tcp://localhost:61616");

broker.start();

2.还可以通过spring来启动。

猜你喜欢

转载自blog.csdn.net/csdn_kenneth/article/details/82106724