ActiveMQ(四)——四、用ActiveMQ構(gòu)建應(yīng)用

一、多種啟動(dòng)Broker的方法

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊(duì)的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。成都創(chuàng)新互聯(lián)公司堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),微信小程序,軟件按需定制設(shè)計(jì)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。

  • broker:相當(dāng)于一個(gè)ActiveMQ服務(wù)器實(shí)例
  • 命令行啟動(dòng)參數(shù)示例如下:
    1:activemq start:使用默認(rèn)的activemq.xml來啟動(dòng)
    2:activemq start xbean:file:../conf/activemq-2.xml:使用指定的配置文件來啟動(dòng)
    3:如果不指定file,也就是xbean:activemq-2.xml,那么必須在classpath下面
  • 如果需要啟動(dòng)多個(gè)broker,需要為broker設(shè)置一個(gè)名字
    broker.setName(“name2”);

二、單獨(dú)應(yīng)用的開發(fā)

  • 用ActiveMQ來構(gòu)建Java應(yīng)用
        主要將ActiveMQ Broker作為獨(dú)立的消息服務(wù)器米構(gòu)建JAVA應(yīng)用。ActiveMQ也支持在vm中通信基于嵌入式的broker,能夠無縫的集成其它java應(yīng)用
  • 嵌入式Broker啟動(dòng)
    //1:Broker Service啟動(dòng)broker,示例如下
    BrokerService broker = new BrokerService();
    broker.setUseJmx(true);
    broker.addConnector("tcp://localhost:61616");
    broker.start();
    //2:BrokerFactory 啟動(dòng)broker,示例如下:
    String uri = "properties:broker.properties";
    BrokerService broker1 = BrokerFactory.createBroker(new URI(uri));
    broker1.addConnector("tcp://localhost:61616");
    broker1.start();
    //3:broker.properties的內(nèi)容如下:
    useJms=true
    persistent=false
    brokerName=Cheese

三、結(jié)合spring boot的開發(fā)
參考:https://blog.csdn.net/liuchuanhong1/article/details/54603546

  • 配置pom.xml

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
    </dependency>
    <dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-pool</artifactId>
    </dependency>
  • 配置文件
    spring.activemq.broker-url=tcp://localhost:61616
    spring.activemq.in-memory=true
    #如果此處設(shè)置為true,需要加如下的依賴包,否則會(huì)自動(dòng)配置失敗,報(bào)JmsMessagingTemplate注入失敗
    spring.activemq.pool.enabled=false
  • 生產(chǎn)者

    @Service
    public class Producer {
    @Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate對JmsTemplate進(jìn)行了封裝
    private JmsMessagingTemplate jmsTemplate;
    
    // 發(fā)送消息,destination是發(fā)送到的隊(duì)列,message是待發(fā)送的消息
    public void sendMessage(Destination destination, final String message){
        jmsTemplate.convertAndSend(destination, message);
    }
    }
  • 消費(fèi)者
    @Component
    public class Consumer {
    使用JmsListener配置消費(fèi)者監(jiān)聽的隊(duì)列,其中text是接收到的消息
    @JmsListener(destination = "springboot-activemq")
    public void receiveQueue(String text) {
        System.out.println("Consumer收到的報(bào)文為:"+text);
    }
    }
  • 測試類

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class SpringBootJmsApplicationTests {
    
    @Autowired
    private Producer producer;
    
    @Test
    public void contextLoads() {
      Destination destination = new ActiveMQQueue("springboot-activemq");
      for (int i = 0; i < 10; i++) {
         producer.sendMessage(destination,"this message is " + i);
      }
    }
    }
  • 測試結(jié)果
    ActiveMQ(四)——四、用ActiveMQ構(gòu)建應(yīng)用

網(wǎng)站名稱:ActiveMQ(四)——四、用ActiveMQ構(gòu)建應(yīng)用
新聞來源:http://www.muchs.cn/article24/gjgjje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、建站公司、網(wǎng)站營銷、自適應(yīng)網(wǎng)站、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)