RabbitMQ adalah implementasi AMQP yang umum digunakan. Artikel ini adalah tutorial sederhana tentang mengintegrasikan RabbitMQ dengan boot musim semi.
Instal ActiveMQ Server (Anda juga tidak dapat menginstalnya. Jika tidak diinstal, Anda akan menggunakan memori MQ)
Bangun Proyek Spring Boot dan tambahkan dependensi. Tambahkan saja item ini
<!-Tambahkan Dependensi ActiveMQ-> <dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-activemq </RiTtifacTID> </dependensi>
Tambahkan kelas aplikasi
@SpringbootApplication@enableScheduling // Kirim pesan menggunakan tugas waktu publik mqTestApplication {public static void main (string [] args) {springApplication.run (mqTestApplication.class, args); }} Konfigurasikan application.yml
Spring: ActiveMQ: Broker-URL: TCP: //127.0.01: 61616 Paket: trust-all: true
Untuk membangun model data, tipe data yang dapat dikirim dan dikonsumsi adalah: string, array byte, peta <string,?>, Objek serializable.
// Jika pesan yang dikirim adalah suatu objek, ia harus mengimplementasikan antarmuka kelas publik yang dapat serial, tmodel mengimplementasikan serializable {private static final long serialversionuid = -921008687184331557l; Hitungan int pribadi; public tModel (int count) {this.count = count; } @Override public string toString () {return "tModel [count =" + count + "]"; }} Membangun produser
Produser kelas @ComponentPublic {// injeksi jmstemplate ke produser, kami dapat mengirim pesan melalui templat ini jmstemplate jmstemplate; jumlah int private = 0; @Autowired Public Producer (JMStemplate JMStemplate) {this.jmstemplate = JMStemplate; } // Di sini kami menggunakan tugas waktu Spring Boot untuk mengirim pesan @scheduled (fixedRate = 1000) public void create () {// Gunakan ConvertAndSend untuk mengirim pesan jmstemplate.convertandSend ("Queue", tmodel baru (count ++)); }} Membangun konsumen
@ComponentPublic Class Consumer {@jmslistener (Destination = "Queue1") public void comsume (konten tModel) {System.out.println ("Pesan Recive dari Queue1 [" + Content + "]"); }}CATATAN KHUSUS: Jika produsen dan konsumen kami berada dalam modul yang berbeda, yang terbaik adalah mengabstraksikan data yang harus dikonsumsi ke dalam modul publik. Program ini membuat serial dan menghapus objek melalui serial yang dapat diseriali. Penting untuk memastikan bahwa serialversionuid dari model objek produsen dan konsumen konsisten.
Alamat proyek: https://github.com/ldwqh0/active-mq-spring.git
Contoh: Konfigurasi RabbitMQ dan tambahkan antrian
@ConfigurationPublic Class Aqueue {@BeanPublic Queue Queue () {return New Queue ("Good");}}Tentukan produser.
Saat ActiveMQ diaktifkan, AMQPtemplate akan dibuat secara otomatis, yang dapat disuntikkan di mana pun Anda butuhkan. Kami dapat mengirim pesan ke MQ melalui amqptemplate ini
/*** Define a producer* @author LiDong*/@RestController@RequestMapping("/test")public class SendController {@Autowiredprivate AmqpTemplate template;@GetMappingpublic String testSend() {// Send message using AmqpTemplate template.convertAndSend("good", "good");return "success";}} Tentukan konsumen, tentukan antrian konsumsi dengan menentukan rabbitlistener (antrian = 'baik')
@ComponentPublic Class Consumer {/*** Tentukan konsumen*@param pesan*/ @rabbitListener (queues = "good") public void handler (pesan string) {System.out.println ("pesan recive dari" + pesan);}}Mulai tes dan masukkan http: // localhost: 8080/tes di browser untuk mengirim pesan ke antrian. Sepasang kolom ini dapat diproses oleh konsumen
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.