Rabbitmq nie tworzy kolei automatycznie, gdy wydawca spring boot wysyła msg

0

Pytanie

rabbitmq nie tworzy kolei automatycznie, gdy wydawca spring boot wysyła msg ... zrobiłem to w taki sposób, aby to było bez ręcznej konfiguracji i to jest moja konfiguracja ///////rabbitmq nie tworzy kolei automatycznie, gdy wydawca spring boot wysyła msg ... zrobiłem to w taki sposób, aby to było bez ręcznej konfiguracji i to jest moja konfiguracja

package com.hariri_stocks.MQ;

import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;


public class msgConfiguration {

    
    public static final String ROUTING_KEY1 = "routingKey1";
    public static final String STOCKS_EXCHANGE = "stocks_exchange";
    public static final String STOCKS_QUEUE = "stocks_queue";
    @Bean
    public Queue queue() {
        return new Queue(STOCKS_QUEUE , false);
    }
    @Bean
    public TopicExchange exchange() {
        return new TopicExchange(STOCKS_EXCHANGE );
    }
    @Bean
    public Binding binding()
    {
        return BindingBuilder.bind(queue()).to(exchange()).with(ROUTING_KEY1);
    }
    @Bean
    public MessageConverter converter()
    {
        return new Jackson2JsonMessageConverter();
    }

    @Bean
    public AmqpTemplate template(ConnectionFactory cf) {
        final RabbitTemplate rt = new RabbitTemplate(cf);
        rt.setMessageConverter(converter());
        return rt;
    }
}

package com.hariri_stocks.MQ;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Givver {

    @Autowired
    private RabbitTemplate template;
    
    @GetMapping("/msg")
    public String send() {
        msgStatus m = new msgStatus("ok","damn");
        template.convertSendAndReceive(msgConfiguration.STOCKS_EXCHANGE, msgConfiguration.ROUTING_KEY1,m);
        return "ok";
    }
}

wprowadź opis zdjęcia tutaj

spring.datasource.url=jdbc:mysql://localhost:3306/hariri_stocks
spring.datasource.username=root
spring.datasource.password=

spring.thymeleaf.enabled=true
spring.thymeleaf.check-template-location=true

spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true 
spring.jpa.show-sql=true

server.port=9091
spring.application.name=hariri

1

Najlepsza odpowiedź

0

Klasa msgConfiguration potrzebuje adnotacje z @Configuration aby te elementy zostały dodane w kontekst aplikacji.

Poza tym, nie potrzebujesz template pobieranie bean - Spring automatycznie łączyć składnik konwerter do jego automatycznie skonfigurowanego RabbitTemplate.

2021-11-23 20:46:44

boże , kocham cię ... tak, zapomniałem to zrobić
muhammad

boże , kocham cię ... tak, zapomniałem to zrobić
muhammad

Gary Russell

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................