我正在尝试创建一个带弹簧启动的简单弹簧启动应用程序,它将"生成"消息发送到rabbitmq交换/队列以及另一个"消耗"这些消息的示例Spring启动应用程序.所以我有两个应用程序(或微服务,如果你愿意).1)"生产者"微服务2)"消费者"微服务
"生产者"有2个域对象.Foo和Bar应该转换为json并发送给rabbitmq."消费者"应该分别接收并将json消息转换为域Foo和Bar.出于某种原因,我不能完成这个简单的任务.关于这个的例子并不多.对于消息转换器我想使用org.springframework.messaging.converter.MappingJackson2MessageConverter
这是我到目前为止:
生产者MICROSERVICE
package demo.producer;
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.core.RabbitMessagingTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
import org.springframework.stereotype.Service;
@SpringBootApplication
public class ProducerApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(ProducerApplication.class, args);
}
@Bean
Queue queue() {
return new Queue("queue", false);
}
@Bean
TopicExchange exchange() {
return new TopicExchange("exchange");
}
@Bean
Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with("queue");
}
@Bean
public MappingJackson2MessageConverter jackson2Converter() {
MappingJackson2MessageConverter converter …Run Code Online (Sandbox Code Playgroud)