You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

SpringBootDemoMqRabbitmqApplicationTests.java 2.7 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.xkcoding.mq.rabbitmq;
  2. import cn.hutool.core.date.DateUtil;
  3. import com.xkcoding.mq.rabbitmq.constants.RabbitConsts;
  4. import com.xkcoding.mq.rabbitmq.message.MessageStruct;
  5. import org.junit.Test;
  6. import org.junit.runner.RunWith;
  7. import org.springframework.amqp.rabbit.core.RabbitTemplate;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.boot.test.context.SpringBootTest;
  10. import org.springframework.test.context.junit4.SpringRunner;
  11. @RunWith(SpringRunner.class)
  12. @SpringBootTest
  13. public class SpringBootDemoMqRabbitmqApplicationTests {
  14. @Autowired
  15. private RabbitTemplate rabbitTemplate;
  16. /**
  17. * 测试直接模式发送
  18. */
  19. @Test
  20. public void sendDirect() {
  21. rabbitTemplate.convertAndSend(RabbitConsts.DIRECT_MODE_QUEUE_ONE, new MessageStruct("direct message"));
  22. }
  23. /**
  24. * 测试分列模式发送
  25. */
  26. @Test
  27. public void sendFanout() {
  28. rabbitTemplate.convertAndSend(RabbitConsts.FANOUT_MODE_QUEUE, "", new MessageStruct("fanout message"));
  29. }
  30. /**
  31. * 测试主题模式发送1
  32. */
  33. @Test
  34. public void sendTopic1() {
  35. rabbitTemplate.convertAndSend(RabbitConsts.TOPIC_MODE_QUEUE, "queue.aaa.bbb", new MessageStruct("topic message"));
  36. }
  37. /**
  38. * 测试主题模式发送2
  39. */
  40. @Test
  41. public void sendTopic2() {
  42. rabbitTemplate.convertAndSend(RabbitConsts.TOPIC_MODE_QUEUE, "ccc.queue", new MessageStruct("topic message"));
  43. }
  44. /**
  45. * 测试主题模式发送3
  46. */
  47. @Test
  48. public void sendTopic3() {
  49. rabbitTemplate.convertAndSend(RabbitConsts.TOPIC_MODE_QUEUE, "3.queue", new MessageStruct("topic message"));
  50. }
  51. /**
  52. * 测试延迟队列发送
  53. */
  54. @Test
  55. public void sendDelay() {
  56. rabbitTemplate.convertAndSend(RabbitConsts.DELAY_MODE_QUEUE, RabbitConsts.DELAY_QUEUE, new MessageStruct("delay message, delay 5s, " + DateUtil.date()), message -> {
  57. message.getMessageProperties().setHeader("x-delay", 5000);
  58. return message;
  59. });
  60. rabbitTemplate.convertAndSend(RabbitConsts.DELAY_MODE_QUEUE, RabbitConsts.DELAY_QUEUE, new MessageStruct("delay message, delay 2s, " + DateUtil.date()), message -> {
  61. message.getMessageProperties().setHeader("x-delay", 2000);
  62. return message;
  63. });
  64. rabbitTemplate.convertAndSend(RabbitConsts.DELAY_MODE_QUEUE, RabbitConsts.DELAY_QUEUE, new MessageStruct("delay message, delay 8s, " + DateUtil.date()), message -> {
  65. message.getMessageProperties().setHeader("x-delay", 8000);
  66. return message;
  67. });
  68. }
  69. }

一个用来深度学习并实战 spring boot 的项目,目前总共包含 66 个集成demo,已经完成 55 个。