中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ActiveMQ(四)——四、用ActiveMQ構建應用

發布時間:2020-07-19 02:56:01 來源:網絡 閱讀:405 作者:mazongfei 欄目:編程語言

一、多種啟動Broker的方法

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

二、單獨應用的開發

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

三、結合spring boot的開發
參考: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
    #如果此處設置為true,需要加如下的依賴包,否則會自動配置失敗,報JmsMessagingTemplate注入失敗
    spring.activemq.pool.enabled=false
  • 生產者

    @Service
    public class Producer {
    @Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate對JmsTemplate進行了封裝
    private JmsMessagingTemplate jmsTemplate;
    
    // 發送消息,destination是發送到的隊列,message是待發送的消息
    public void sendMessage(Destination destination, final String message){
        jmsTemplate.convertAndSend(destination, message);
    }
    }
  • 消費者
    @Component
    public class Consumer {
    使用JmsListener配置消費者監聽的隊列,其中text是接收到的消息
    @JmsListener(destination = "springboot-activemq")
    public void receiveQueue(String text) {
        System.out.println("Consumer收到的報文為:"+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);
      }
    }
    }
  • 測試結果
    ActiveMQ(四)——四、用ActiveMQ構建應用
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梅河口市| 凤翔县| 扎兰屯市| 富民县| 华安县| 银川市| 镇远县| 高要市| 仙居县| 留坝县| 邮箱| 峡江县| 宝兴县| 张家港市| 会泽县| 福海县| 兴国县| 内黄县| 定西市| 廊坊市| 松滋市| 山阴县| 武宁县| 扎囊县| 旬邑县| 台湾省| 柳河县| 定州市| 瓦房店市| 内丘县| 会东县| 微山县| 桐城市| 万年县| 太白县| 大足县| 大同县| 普兰县| 杭锦旗| 新干县| 广宁县|