<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      小雞炸

      導航

      SpringBoot_ActiveMQ

      一、ActiveMQ介紹【消息隊列中間件】

      1、但凡耗時長的功能都可以通過消息隊列異步交給其他服務完成
      寫入ActiveMQ或讀取ActiveMQ
      ActiveMQ就是一個容器
      
      常用的RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等
      
      2、安裝ActiveMQ
      下載
      新版:http://activemq.apache.org/components/artemis/download/
      老版:http://activemq.apache.org/components/classic/download/
      運行:activemq.bat
      運行后訪問:http://localhost:8161/
      用戶名和密碼都是:admin
      
      3、queue與topic
      a、點對點:Queue,不可重復消費
      消息生產者生產消息發送到queue中,然后消息消費者從queue中取出并且消費消息。
      消息被消費以后,queue中不再有存儲,所以消息消費者不可能消費到已經被消費的消息。
      Queue支持存在多個消費者,但是對一個消息而言,只會有一個消費者可以消費、其它的則不能消費此消息了。
      當消費者不存在時,消息會一直保存,直到有消費消費
      
      b、發布/訂閱:Topic,可以重復消費
      消息生產者(發布)將消息發布到topic中,同時有多個消息消費者(訂閱)消費該消息。
      和點對點方式不同,發布到topic的消息會被所有訂閱者消費。
      當生產者發布消息,不管是否有消費者。都不會保存消息
      
      4、引用依賴
      <dependency>
      	<groupId>org.springframework.boot</groupId>
      	<artifactId>spring-boot-starter-activemq</artifactId>
      </dependency>
      
      <!--消息隊列連接池-->
      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>activemq-pool</artifactId>
          <version>5.15.0</version>
      </dependency>
      

      二、queue 兩個微服務點對點通信

      1、接收者和發送者雙方微服務添加以下配置
      spring.activemq.broker-url=tcp://localhost:61616
      spring.activemq.user=admin
      spring.activemq.password=admin
      #默認queue、true群發、false不群發、此配置只需要對接收者配置,發送者不需要下面的配置
      #spring.jms.pub-sub-domain=true
      
      2、接收者微服務、創建一個項目、編寫一個GetMsg接收消息的類、然后啟動、等待接受消息
      @Component
      public class GetMsg {
      	/**
      	 * 監聽和讀取active.queue消息、destination和名必須和發送者名稱一致
      	 */
      	@JmsListener(destination = "active.queue")
      	public void readActiveTopic2(String message) {
      		System.out.println("1接受到:" + message);
      	}
      }
      
      3、發送者微服務、創建一個項目、編寫一個發送者的方法、測試發送消息
      如果有多個接收者、只能被其中一個獲取、如果沒有接收者、會被存儲起來、等待接收者
      @RestController
      public class SendMsgController {
      	@Autowired
      	private JmsMessagingTemplate jmsMessagingTemplate;
      	
      	@RequestMapping("/send")
      	public Object send(String msg) {
      		//把消息發送到點對點的active.queue中
      		jmsMessagingTemplate.convertAndSend(new ActiveMQQueue("active.queue"), msg);
      		return "ok";
      	}
      }
      

      三、topic 群發

      1、接收者和發送者雙方微服務都需要修改配置
      spring.activemq.broker-url=tcp://localhost:61616
      spring.activemq.user=admin
      spring.activemq.password=admin
      #默認queue、true群發、false不群發、此配置只需要對接收者配置,發送者不需要下面的配置
      spring.jms.pub-sub-domain=true
      
      2、接收者微服務、創建一個項目、編寫一個GetMsg接收消息的類、然后啟動、等待接受消息【可以多個接受者微服務】
      @Component
      public class GetMsg {
      	/**
      	 * 監聽和讀取topic消息、destination和名必須和發送者名稱一致
      	 */
      	@JmsListener(destination = "active.topic")
      	public void readActiveTopic2(String message) {
      		System.out.println("1接受到:" + message);
      	}
      }
      
      3、發送者微服務、創建一個項目、編寫一個發送者的方法、測試發送消息

      如果當時有多個接收者、大家都可以接受到、如果沒有接收者、不會存儲起來、消息直接失效

      @RestController
      public class SendMsgController {
      	@Autowired
      	private JmsMessagingTemplate jmsMessagingTemplate;
      	
      	@RequestMapping("/send")
      	public Object send(String msg) {
      		//發送點對點消息消息
      		//jmsMessagingTemplate.convertAndSend(new ActiveMQQueue("active.queue"), msg);
              //群發消息
      		jmsMessagingTemplate.convertAndSend(new ActiveMQTopic("active.topic"), msg);
      		return "ok";
      	}
      }
      

      四、讓接收者能既能接受點對點,亦能接受群發

      1、在接收者微服務添加以下配置
      
      
      import javax.jms.ConnectionFactory;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      import org.springframework.jms.annotation.EnableJms;
      import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
      import org.springframework.jms.config.JmsListenerContainerFactory;
      
      @Configuration
      @EnableJms
      public class JmsConfig {
      	@Bean
      	public JmsListenerContainerFactory<?> topicListenerFactory(ConnectionFactory connectionFactory) {
      	    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
      	    factory.setPubSubDomain(true);
      	    factory.setConnectionFactory(connectionFactory);
      	    return factory;
      	}
       
      	@Bean
      	public JmsListenerContainerFactory<?> queueListenerFactory(ConnectionFactory connectionFactory) {
      	    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
      	    factory.setPubSubDomain(false);
      	    factory.setConnectionFactory(connectionFactory);
      	    return factory;
      	}
      }
      
      2、接受類的方法修改成以下方式
      import org.springframework.jms.annotation.JmsListener;
      import org.springframework.stereotype.Component;
      
      @Component
      public class GetMsg {
      	/**
      	 * 監聽和讀取active.queue消息
      	 */
      	@JmsListener(destination = "active.queue",containerFactory="queueListenerFactory")
      	public void readActiveTopic1(String message) {
      		System.out.println("點對點的----avtivemq001接受到:" + message);
      	}
      	
      	/**
      	 * 監聽和讀取active.queue消息
      	 */
      	@JmsListener(destination = "active.queue",containerFactory="topicListenerFactory")
      	public void readActiveTopic2(String message) {
      		System.out.println("群發的----avtivemq001接受到:" + message);
      	}
      }
      
      

      posted on 2022-01-19 10:44  小雞炸  閱讀(77)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产a在视频线精品视频下载| gogogo高清在线播放免费| 亚洲区中文字幕日韩精品| 中文字幕无码av不卡一区| 韩国午夜理伦三级| 九九热精品在线观看| 极品一区二区三区水蜜桃| 亚洲精品无amm毛片| 成人av天堂男人资源站| 麻豆国产va免费精品高清在线 | 国产精品一区二区三区蜜臀| 怡红院一区二区三区在线| 婷婷五月综合激情| 亚洲的天堂在线中文字幕| 香港日本三级亚洲三级| 中文字幕日韩精品有码视频| 国产精品色一区二区三区| 久久天堂综合亚洲伊人HD妓女| 亚洲精品国产免费av| 成人免费A级毛片无码网站入口| 亚洲真人无码永久在线| 色偷偷亚洲男人的天堂| 久久精品一区二区三区av| 中文字幕亚洲制服在线看| 青铜峡市| 国产稚嫩高中生呻吟激情在线视频| 免费人成视频在线视频电影| 少妇高潮流白浆在线观看| 99久久婷婷国产综合精品青草漫画| 国产精品国产三级国产专i| 象州县| 精品一区二区三区四区色| 国产睡熟迷奷系列网站| 老师扒下内裤让我爽了一夜 | 色综合天天综合网天天看片| 国产成人无码A区在线观看视频| 无码人妻丰满熟妇区毛片| 精品自拍自产一区二区三区| 一本一道av中文字幕无码| 亚洲欧美卡通另类丝袜美腿| 日韩一卡二卡三卡四卡五卡 |