O Message Middleware é de grande ajuda para desacoplar e remover o pico entre nossos sistemas. A Spring Boot também integra o conteúdo desta parte, e a coisa mais fácil de integrar é o RabbitMQ. Hoje usaremos o RabbitMQ como exemplo.
As regras antigas, vamos dar uma olhada no primeiro
<Depencency> <Puperid> org.springframework.Boot </proupId> <TRATIFACTID> Spring-boot-starter </ArtifactId> </pendesicency> <pendence> <puperid> org.springframework.boot </frupid> <stifactId> spring-boot-starter-webweb </artef <GrupID> org.springframework.boot </proupId> <TROTIFACTID> primavera-boot-starter-amqp </artifactId> </pendesency> <pendence> <puperid> org.projomelombok </roupid> <stifactid> lombok </stifactid> </dependência>
O AMQP, ou Protocolo de fila de mensagens avançado, um protocolo de fila de mensagens avançado em nível de aplicativo que fornece serviços de mensagens unificados, é um padrão aberto do protocolo no nível do aplicativo e foi projetado para middleware orientado a mensagens. Clientes e middleware de mensagem com base nesse protocolo podem passar mensagens e não são restringidos por diferentes produtos e linguagens de desenvolvimento de clientes/middleware. Spring-Boot-Starter-AMQP apresenta RabbitMQ. Há um pré-requisito: primeiro instale o servidor RabbitMQ em sua máquina e, em seguida, execute o servidor RabbitMQ-Server e inicie-o. Após o início, podemos configurar nosso programa de clientes. Primeiro olhe para o nosso arquivo de configuração
spring.application.name: spirng-boot-rabbitmqspring.rabbitmq.host: 127.0.0.1spring.rabbitmq.port: 5672spring.rabbitmq.username: hóspedespring.rabbitmq.password: convidado
O IP, a porta, o nome de usuário, a senha e outras informações básicas do servidor são configuradas para garantir que possamos conectar ao servidor.
Adicione uma classe de configuração do RabbitMQ
pacote com.shuqi; importar org.springframework.amqp.core.queue; importar org.springframework.context.annotation.bean; importar org.springframework.Context.annotation.configuration; @conCiGurationPublic ClassConfig (@BeanBan. }}
Uma fila chamada Hello é criada e o produtor pode colocar dados na fila Hello, e o consumidor pode consumir dados da fila Hello. Confira o manipulador do produtor
pacote com.shuqi.controller; importar org.springframework.amqp.core.amqptemplate; importar org.springframework.beans.factory.annotation.autowired; importação org.springframework.web.bind.annotation.requestMapping; org.springframework.web.bind.annotation.requestparam; importar org.springframework.web.bind.annotation.restcontroller; @restcontrollerpedic classe hellocontroller {@autowired amqptemplate abbitemplate; @RequestMapping ("/hello") public string hello (@RequestParam String Name) {rabbittemplate.convertandSend ("hello", "hello"+nome); retornar "mensagem enviada com sucesso"; }}Produção de mensagens através do controlador e envio de mensagens através do AMQPTemplate. Com os produtores, vamos dar uma olhada nos consumidores
pacote com.shuqi.consumer; import lombok.extern.slf4j.slf4j; importar org.springframework.amqp.rabbit.annotation.rabbithandler; importação org.springframework.amqp.rabbit.annotation.rabbitLister; org.springframework.stereotype.component;@componente@rabbitListener (fileues = "hello")@slf4jpublic classe helloconsumer {@rabbithandler public void Process (string hello) {log.info ("Mensagem: {{}, hello); }}@RabbitListener (fileues = "hello") significa que é um ouvinte do RabbitMQ. O nome da fila do ouvinte é olá, o que significa que os dados definitivamente virão. Quando os dados chegarem, os dados serão processados através do método de modificação @Rabbithandler. Imprima. Vamos iniciar o projeto e ver os resultados.
Digite http: // localhost: 8080/hello? Name = shuqi no seu navegador para ver os seguintes resultados
Confira a saída dos logs do console
2018-03-25 16: 24: 32.752 INFO 4987 --- [CTASKEXECIONCO-1] COM.SHUQI.CONSUMER.HELOCONSUMER: Mensagem recebida: Hello Shuqi
Isso significa que a mensagem foi recebida e processada pelo consumidor. Você pode brincar com isso.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.