Jadual Kandungan
Pengenalan
Tamat pengeluaran
Rumah Java javaTutorial Apakah kaedah SpringBoot untuk menyepadukan baris gilir mesej RabbitMQ?

Apakah kaedah SpringBoot untuk menyepadukan baris gilir mesej RabbitMQ?

May 16, 2023 pm 05:25 PM
springboot rabbitmq

    Pengenalan

    Dalam projek Spring, anda boleh menggunakan Spring-Rabbit untuk mengendalikan RabbitMQ

    Terutama dalam projek but spring, hanya perkenalkan sahaja pergantungan pemula amqp yang sepadan, gunakan RabbitTemplate dengan mudah untuk menghantar mesej dan gunakan anotasi untuk menerima mesej.

    Secara amnya semasa proses pembangunan:

    Kejuruteraan pengeluar:

    • fail application.yml mengkonfigurasi maklumat berkaitan RabbitMQ

    • Tulis kelas konfigurasi dalam projek pengeluar untuk mencipta suis dan baris gilir, dan ikatkannya

    • Suntikan objek RabbitTemplate dan hantar mesej ke suis melalui objek RabbitTemplate

    Kejuruteraan Pengguna:

    • application.yml fail konfigurasi maklumat berkaitan RabbitMQ

    • Buat kelas pemprosesan mesej , digunakan untuk terima mesej dalam baris gilir dan prosesnya

    Tamat pengeluaran

    1 Buat projek SpringBoot pengeluar (maven)
    2 koordinat

    factId>
     < /dependency>

    3 Tulis konfigurasi yml, konfigurasi maklumat asas

    4 perhubungan
    5. Inject RabbitTemplate, kaedah panggilan dan penghantaran mesej lengkap

    Tambah kebergantungan

    Ubah suai kandungan fail pom.xml seperti berikut:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.4.RELEASE</version>
        </parent>
        <groupId>com.itheima</groupId>
        <artifactId>springboot-rabbitmq-producer</artifactId>
        <version>1.0-SNAPSHOT</version>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-amqp</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
            </dependency>
        </dependencies>
    </project>
    Salin selepas log masuk

    Kelas permulaan

    package com.itheima.rabbitmq;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    @SpringBootApplication
    public class ProducerApplication {
        public static void main(String[] args) {
            SpringApplication.run(ProducerApplication.class);
        }
    }
    Salin selepas log masuk

    Konfigurasikan RabbitMQ

    Fail konfigurasi

    Buat application.yml dengan kandungan berikut:

    musim bunga:

    rabbitmq:
    hos: localhost
    port: 5672
    virtual-host: / itcast
    nama pengguna: heima
    kata laluan: heima

    Ikat suis dan baris gilir

    Buat kelas konfigurasi com.itheima.rabbitmq.config yang mengikat baris gilir RabbitMQ dan tukar .RabbitMQConfig

    package com.itheima.rahhitmq.config;
    import org.springframework.amqp.core.*;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    @Configuration /// 配置类
    public class RabbitMQConfig {
        public static final String EXCHAGE_NAME = "boot_topic_exchange";
        public static final String QUEUE_NAME = "boot_queue";
        // 交换机
        @Bean("bootExchange")
        public Exchange bootExchange(){
            // 构建交换机对象
            return ExchangeBuilder.topicExchange(EXCHAGE_NAME).durable(true).build();
        }
        //Queue 队列
        @Bean("bootQueue")
        public Queue bootQueue(){
            return QueueBuilder.durable(QUEUE_NAME).build();
        }
        //队列和交换机的关系 Binding
        /**
         * 1 知道那个队列
         * 2 知道那个交换机
         * 3 routingKey
         */
        @Bean
        public Binding bindQueueExchange(@Qualifier("bootQueue") Queue queue, @Qualifier("bootExchange") Exchange exchange){
            return BindingBuilder.bind(queue).to(exchange).with("boot.#").noargs();
        }
    }
    Salin selepas log masuk

    Bina projek pengguna

    Buat projek

    Sebelah pengeluaran

    1. Cipta projek SpringBoot pengeluar

    2 Perkenalkan permulaan, bergantung pada koordinat

    org.springframework.boot

    spring-boot-starter-amqp

    untuk menulis konfigurasi yml, konfigurasi maklumat asas

    untuk menentukan suis, baris gilir dan Kelas konfigurasi perhubungan mengikat
    disuntik ke dalam RabbitTemplate, memanggil kaedah dan melengkapkan penghantaran mesej

    Tambah kebergantungan

    Ubah suai kandungan fail pom.xml seperti berikut:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.4.RELEASE</version>
        </parent>
        <groupId>com.itheima</groupId>
        <artifactId>springboot-rabbitmq-consumer</artifactId>
        <version>1.0-SNAPSHOT</version>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-amqp</artifactId>
            </dependency>
        </dependencies>
    </project>
    Salin selepas log masuk

    Mulakan kelas

    package com.itheima.rabbitmq;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    @SpringBootApplication
    public class ConsumerApplication {
        public static void main(String[] args) {
            SpringApplication.run(ConsumerApplication.class);
        }
    }
    Salin selepas log masuk

    Konfigurasikan RabbitMQ

    Buat application.yml dengan kandungan berikut:

    spring:

    rabbitmq:
    hos: localhost
    port: 5672
    virtual-host: /itcast
    nama pengguna: heima
    kata laluan: heima

    Kelas pemprosesan mendengar mesej

    Tulis pendengar mesej com.itheima.rabbitmq .listener.MyListener

    package com.itheima.rabbitmq.listener;
    import org.springframework.amqp.rabbit.annotation.RabbitListener;
    import org.springframework.stereotype.Component;
    @Component
    public class MyListener {
        /**
         * 监听某个队列的消息
         * @param message 接收到的消息
         */
        @RabbitListener(queues = "item_queue")
        public void myListener1(String message){
            System.out.println("消费者接收到的消息为:" + message);
        }
    }
    Salin selepas log masuk

    Ujian

    Buat kelas ujian dalam projek pengeluar springboot-rabbitmq-producer dan hantar mesej:

    package com.itheima.rabbitmq;
    import com.itheima.rabbitmq.config.RabbitMQConfig;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.amqp.rabbit.core.RabbitTemplate;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class RabbitMQTest {
        @Autowired
        private RabbitTemplate rabbitTemplate;
        @Test
        public void test(){
            rabbitTemplate.convertAndSend(RabbitMQConfig.ITEM_TOPIC_EXCHANGE, "item.insert", "商品新增,routing key 为item.insert");
            rabbitTemplate.convertAndSend(RabbitMQConfig.ITEM_TOPIC_EXCHANGE, "item.update", "商品修改,routing key 为item.update");
            rabbitTemplate.convertAndSend(RabbitMQConfig.ITEM_TOPIC_EXCHANGE, "item.delete", "商品删除,routing key 为item.delete");
        }
    }
    Salin selepas log masuk

    Mula-mula jalankan program ujian di atas (tukar dan Barisan boleh diisytiharkan dan diikat dahulu), dan kemudian pengguna dimulakan; sama ada mesej yang sepadan diterima pada konsol dalam projek pengguna springboot-rabbitmq-consumer.

    SpringBoot menyediakan cara untuk menyepadukan RabbitMQ dengan cepat

    Maklumat asas dikonfigurasikan dalam yml, mesin interaktif baris gilir dan hubungan mengikat dikonfigurasikan menggunakan kacang dalam kelas konfigurasi

    Pengeluaran Akhir terus menyuntik RabbitTemplate untuk melengkapkan penghantaran mesej

    Penghujung pengguna secara langsung menggunakan @RabbitListener untuk melengkapkan penerimaan mesej

    Atas ialah kandungan terperinci Apakah kaedah SpringBoot untuk menyepadukan baris gilir mesej RabbitMQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Cara membina aplikasi pemesejan yang boleh dipercayai dengan React dan RabbitMQ Cara membina aplikasi pemesejan yang boleh dipercayai dengan React dan RabbitMQ Sep 28, 2023 pm 08:24 PM

    Cara membina aplikasi pemesejan yang boleh dipercayai dengan React dan RabbitMQ Pengenalan: Aplikasi moden perlu menyokong pemesejan yang boleh dipercayai untuk mencapai ciri seperti kemas kini masa nyata dan penyegerakan data. React ialah perpustakaan JavaScript yang popular untuk membina antara muka pengguna, manakala RabbitMQ ialah perisian tengah pemesejan yang boleh dipercayai. Artikel ini akan memperkenalkan cara menggabungkan React dan RabbitMQ untuk membina aplikasi pemesejan yang boleh dipercayai dan memberikan contoh kod khusus. Gambaran keseluruhan RabbitMQ:

    Cara menggunakan RabbitMQ untuk melaksanakan pemprosesan mesej teragih dalam PHP Cara menggunakan RabbitMQ untuk melaksanakan pemprosesan mesej teragih dalam PHP Jul 18, 2023 am 11:00 AM

    Cara menggunakan RabbitMQ untuk melaksanakan pemprosesan mesej teragih dalam PHP Pengenalan: Dalam pembangunan aplikasi berskala besar, sistem teragih telah menjadi keperluan biasa. Pemprosesan mesej teragih ialah corak yang meningkatkan kecekapan dan kebolehpercayaan sistem dengan mengagihkan tugas kepada berbilang nod pemprosesan. RabbitMQ ialah sistem baris gilir mesej sumber terbuka yang boleh dipercayai yang menggunakan protokol AMQP untuk melaksanakan penghantaran dan pemprosesan mesej. Dalam artikel ini kami akan membincangkan cara menggunakan RabbitMQ dalam PHP untuk pengedaran

    Analisis perbandingan dan perbezaan antara SpringBoot dan SpringMVC Analisis perbandingan dan perbezaan antara SpringBoot dan SpringMVC Dec 29, 2023 am 11:02 AM

    SpringBoot dan SpringMVC adalah kedua-dua rangka kerja yang biasa digunakan dalam pembangunan Java, tetapi terdapat beberapa perbezaan yang jelas antara mereka. Artikel ini akan meneroka ciri dan penggunaan kedua-dua rangka kerja ini dan membandingkan perbezaannya. Mula-mula, mari belajar tentang SpringBoot. SpringBoot telah dibangunkan oleh pasukan Pivotal untuk memudahkan penciptaan dan penggunaan aplikasi berdasarkan rangka kerja Spring. Ia menyediakan cara yang pantas dan ringan untuk membina bersendirian, boleh dilaksanakan

    Menggunakan RabbitMQ dalam Go: Panduan Lengkap Menggunakan RabbitMQ dalam Go: Panduan Lengkap Jun 19, 2023 am 08:10 AM

    Apabila aplikasi moden meningkat dalam kerumitan, pemesejan telah menjadi alat yang berkuasa. Dalam bidang ini, RabbitMQ telah menjadi broker mesej yang sangat popular yang boleh digunakan untuk menghantar mesej antara aplikasi yang berbeza. Dalam artikel ini, kami akan meneroka cara menggunakan RabbitMQ dalam bahasa Go. Panduan ini akan merangkumi perkara berikut: Pengenalan kepada Pemasangan RabbitMQ RabbitMQ Konsep Asas RabbitMQ Bermula dengan RabbitMQ dalam Go RabbitMQ and Go

    Tutorial praktikal pembangunan SpringBoot+Dubbo+Nacos Tutorial praktikal pembangunan SpringBoot+Dubbo+Nacos Aug 15, 2023 pm 04:49 PM

    Artikel ini akan menulis contoh terperinci untuk bercakap tentang perkembangan sebenar dubbo+nacos+Spring Boot. Artikel ini tidak akan merangkumi terlalu banyak pengetahuan teori, tetapi akan menulis contoh paling mudah untuk menggambarkan bagaimana dubbo boleh disepadukan dengan nacos untuk membina persekitaran pembangunan dengan cepat.

    Penyelesaian untuk penyegerakan data masa nyata antara Golang dan RabbitMQ Penyelesaian untuk penyegerakan data masa nyata antara Golang dan RabbitMQ Sep 27, 2023 pm 10:41 PM

    Pengenalan kepada penyelesaian untuk penyegerakan data masa nyata antara Golang dan RabbitMQ: Pada era hari ini, dengan populariti Internet dan pertumbuhan pesat volum data, penyegerakan data masa nyata telah menjadi semakin penting. Untuk menyelesaikan masalah penghantaran data tak segerak dan penyegerakan data, banyak syarikat telah mula menggunakan baris gilir mesej untuk mencapai penyegerakan data masa nyata. Artikel ini akan memperkenalkan penyelesaian penyegerakan data masa nyata berdasarkan Golang dan RabbitMQ dan memberikan contoh kod khusus. 1. Apakah RabbitMQ? Rabbi

    Amalan aplikasi go-zero dan RabbitMQ Amalan aplikasi go-zero dan RabbitMQ Jun 23, 2023 pm 12:54 PM

    Kini semakin banyak perusahaan mula menggunakan model seni bina perkhidmatan mikro, dan dalam seni bina ini, baris gilir mesej telah menjadi kaedah komunikasi yang penting, antaranya RabbitMQ digunakan secara meluas. Dalam bahasa Go, go-zero ialah rangka kerja yang telah muncul dalam beberapa tahun kebelakangan ini. Ia menyediakan banyak alat dan kaedah praktikal untuk membolehkan pembangun menggunakan baris gilir mesej dengan lebih mudah Di bawah ini kami akan memperkenalkan go-zero berdasarkan aplikasi praktikal dan amalan aplikasi RabbitMQ. 1.RabbitMQ Gambaran KeseluruhanArnab

    Golang RabbitMQ: Reka bentuk seni bina dan pelaksanaan sistem baris gilir mesej yang sangat tersedia Golang RabbitMQ: Reka bentuk seni bina dan pelaksanaan sistem baris gilir mesej yang sangat tersedia Sep 28, 2023 am 08:18 AM

    GolangRabbitMQ: Reka bentuk seni bina dan pelaksanaan sistem baris gilir mesej yang sangat tersedia memerlukan contoh kod khusus Pengenalan: Dengan pembangunan berterusan teknologi Internet dan aplikasinya yang meluas, baris gilir mesej telah menjadi bahagian yang amat diperlukan dalam sistem perisian moden. Sebagai alat untuk melaksanakan penyahgandingan, komunikasi tak segerak, pemprosesan toleransi kesalahan dan fungsi lain, baris gilir mesej menyediakan ketersediaan tinggi dan sokongan berskala untuk sistem teragih. Sebagai bahasa pengaturcaraan yang cekap dan ringkas, Golang digunakan secara meluas untuk membina sistem keselarasan tinggi dan berprestasi tinggi.

    See all articles