rain
2024-03-27 ac69fbcd2ace5d0f90b0ca6de5f7679526319316
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.dji.sample.component.rabbitmq.config;
 
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
 
import java.util.Date;
 
@Component
public class MqttMsgProxyProducer {
    @Autowired
    private RabbitTemplate rabbitTemplate;
 
    private static final String EXCHANGE_NAME = "drone";
 
    @Bean(EXCHANGE_NAME)
    public TopicExchange createExchange(){
        return new TopicExchange(EXCHANGE_NAME,true,false);
    }
 
    public void publish_test() {
//        String message = new Date() + "Beijing";
        Message message = MessageBuilder.withBody("hello javaboy".getBytes())
                .setExpiration("10000")
                .build();
        System.out.println("生产者产生消息=====" + message);
        rabbitTemplate.convertAndSend(EXCHANGE_NAME,"rabbitmq_queue", message);
    }
 
    public void publish(String routingKey, Object content) {
        rabbitTemplate.convertAndSend(EXCHANGE_NAME,routingKey, content);
    }
 
    public void publish(String routingKey, String content) {
        Message message = MessageBuilder.withBody(content.getBytes())
                .setExpiration("1000")
                .build();
        rabbitTemplate.send(EXCHANGE_NAME,routingKey, message);
    }
 
    public void publish(String routingKey, byte[] content) {
        Message message = MessageBuilder.withBody(content)
                .setExpiration("1000")
                .build();
        rabbitTemplate.send(EXCHANGE_NAME,routingKey, message);
    }
 
   /* *
     * 使用json序列化机制,进行消息转换
     * @return -*/
 
 
    @Bean
    public MessageConverter jackson2MessageConverter() {
        return new Jackson2JsonMessageConverter();
    }
 
}