RabbitMQ结合Restful接口使用RabbitHandler和RabbitListener实现监听消息并获取不同类型的消息------RabbitMQ
RabbitMQ结合Restful接口使用RabbitHandler和RabbitListener实现监听消息并获取不同类型的消息------RabbitMQ
·
package com.alatus.mall.order.controller; import com.alatus.mall.order.entity.OrderEntity; import com.alatus.mall.order.entity.OrderReturnReasonEntity; 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; import java.math.BigDecimal; import java.util.Date; import java.util.UUID; @RestController public class RabbitController { @Autowired private RabbitTemplate rabbitTemplate; @GetMapping("/sendMessage") public String sendMessage(){ for (int i = 0; i < 10; i++) { if(i % 2 == 0){ OrderReturnReasonEntity reasonEntity = new OrderReturnReasonEntity(); reasonEntity.setId(1L); reasonEntity.setCreateTime(new Date()); reasonEntity.setName("哈哈"+i); rabbitTemplate.convertAndSend("helloWorld","hello",reasonEntity); } else{ OrderEntity entity = new OrderEntity(); entity.setOrderSn(UUID.randomUUID().toString()); rabbitTemplate.convertAndSend("helloWorld","hello",entity); } } return "OK"; } }
package com.alatus.mall.order.controller; import com.alatus.mall.order.entity.OrderEntity; import com.alatus.mall.order.entity.OrderReturnReasonEntity; 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; import java.math.BigDecimal; import java.util.Date; import java.util.UUID; @RestController public class RabbitController { @Autowired private RabbitTemplate rabbitTemplate; @GetMapping("/sendMessage") public String sendMessage(){ for (int i = 0; i < 10; i++) { if(i % 2 == 0){ OrderReturnReasonEntity reasonEntity = new OrderReturnReasonEntity(); reasonEntity.setId(1L); reasonEntity.setCreateTime(new Date()); reasonEntity.setName("哈哈"+i); rabbitTemplate.convertAndSend("helloWorld","hello",reasonEntity); } else{ OrderEntity entity = new OrderEntity(); entity.setOrderSn(UUID.randomUUID().toString()); rabbitTemplate.convertAndSend("helloWorld","hello",entity); } } return "OK"; } }
package com.alatus.mall.order; import org.springframework.amqp.rabbit.annotation.EnableRabbit; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication @EnableDiscoveryClient @EnableRabbit public class MallOrderApplication { public static void main(String[] args) { SpringApplication.run(MallOrderApplication.class, args); } }
package com.alatus.mall.order; import org.springframework.amqp.rabbit.annotation.EnableRabbit; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication @EnableDiscoveryClient @EnableRabbit public class MallOrderApplication { public static void main(String[] args) { SpringApplication.run(MallOrderApplication.class, args); } }
package com.alatus.mall.order.service.impl; import com.alatus.mall.order.entity.OrderEntity; import com.alatus.mall.order.entity.OrderReturnReasonEntity; import com.rabbitmq.client.Channel; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Service; import java.util.Map; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.alatus.common.utils.PageUtils; import com.alatus.common.utils.Query; import com.alatus.mall.order.dao.OrderItemDao; import com.alatus.mall.order.entity.OrderItemEntity; import com.alatus.mall.order.service.OrderItemService; @Service("orderItemService") @RabbitListener(queues = "helloJava") public class OrderItemServiceImpl extends ServiceImpl<OrderItemDao, OrderItemEntity> implements OrderItemService { @Override public PageUtils queryPage(Map<String, Object> params) { IPage<OrderItemEntity> page = this.page( new Query<OrderItemEntity>().getPage(params), new QueryWrapper<OrderItemEntity>() ); return new PageUtils(page); } @RabbitHandler public void getMessage(Message message, OrderReturnReasonEntity entity, Channel channel){ System.out.println(entity); } @RabbitHandler public void getMessage1(OrderEntity entity){ System.out.println(entity); } }
package com.alatus.mall.order.service.impl; import com.alatus.mall.order.entity.OrderEntity; import com.alatus.mall.order.entity.OrderReturnReasonEntity; import com.rabbitmq.client.Channel; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Service; import java.util.Map; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.alatus.common.utils.PageUtils; import com.alatus.common.utils.Query; import com.alatus.mall.order.dao.OrderItemDao; import com.alatus.mall.order.entity.OrderItemEntity; import com.alatus.mall.order.service.OrderItemService; @Service("orderItemService") @RabbitListener(queues = "helloJava") public class OrderItemServiceImpl extends ServiceImpl<OrderItemDao, OrderItemEntity> implements OrderItemService { @Override public PageUtils queryPage(Map<String, Object> params) { IPage<OrderItemEntity> page = this.page( new Query<OrderItemEntity>().getPage(params), new QueryWrapper<OrderItemEntity>() ); return new PageUtils(page); } @RabbitHandler public void getMessage(Message message, OrderReturnReasonEntity entity, Channel channel){ System.out.println(entity); } @RabbitHandler public void getMessage1(OrderEntity entity){ System.out.println(entity); } }
更多推荐
已为社区贡献2条内容
所有评论(0)