ProducerNormalMessageTest.java 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package producer;
  2. import com.alibaba.fastjson.JSON;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.apache.rocketmq.client.producer.SendCallback;
  5. import org.apache.rocketmq.client.producer.SendResult;
  6. import org.apache.rocketmq.spring.core.RocketMQTemplate;
  7. import org.example.producer.ProducerApplication;
  8. import org.example.producer.dto.StudentDTO;
  9. import org.junit.jupiter.api.Test;
  10. import org.springframework.boot.test.context.SpringBootTest;
  11. import org.springframework.messaging.Message;
  12. import org.springframework.messaging.support.MessageBuilder;
  13. import javax.annotation.Resource;
  14. @SpringBootTest(classes = ProducerApplication.class)
  15. @Slf4j
  16. public class ProducerNormalMessageTest {
  17. @Resource(name = "extRocketMQTemplate")
  18. private RocketMQTemplate extRocketMQTemplate;
  19. /**
  20. *发送单向消息
  21. */
  22. @Test
  23. public void sendOneWay(){
  24. StudentDTO studentDTO = new StudentDTO();
  25. studentDTO.setId("T001");
  26. studentDTO.setName("丽莎");
  27. studentDTO.setAge(12);
  28. Message<String> message = MessageBuilder.withPayload(JSON.toJSONString(studentDTO)).setHeader("KEYS", studentDTO.getId()).build();
  29. extRocketMQTemplate.sendOneWay("studentTopic".concat(":ESS"),message);
  30. }
  31. @Test
  32. public void sendOneWayOrderly(){
  33. StudentDTO studentDTO = new StudentDTO();
  34. studentDTO.setId("T005");
  35. studentDTO.setName("里斯");
  36. studentDTO.setAge(12);
  37. Message<String> message = MessageBuilder.withPayload(JSON.toJSONString(studentDTO)).setHeader("KEYS", studentDTO.getId()).build();
  38. extRocketMQTemplate.sendOneWayOrderly("studentTopic".concat(":ESS"), message,studentDTO.getId());
  39. }
  40. @Test
  41. public void syncSendOrderly(){
  42. for (int i=0; i<20; i++){
  43. Message<String> message = MessageBuilder.withPayload("订单".concat("Orderder:"+i)).setHeader("KEYS", i).build();
  44. SendResult sendResult = extRocketMQTemplate.syncSendOrderly("order".concat(":OR"), message, String.valueOf(i));
  45. log.info(sendResult.toString());
  46. }
  47. }
  48. @Test
  49. public void syncSend(){
  50. StudentDTO studentDTO = new StudentDTO();
  51. studentDTO.setId("T002");
  52. studentDTO.setName("张三丰");
  53. studentDTO.setAge(11);
  54. Message<String> message = MessageBuilder.withPayload(JSON.toJSONString(studentDTO)).setHeader("KEYS", studentDTO.getId()).build();
  55. SendResult sendResult = extRocketMQTemplate.syncSend("studentTopic".concat(":ESS"), message);
  56. log.info(sendResult.toString());
  57. }
  58. @Test
  59. public void asyncSend(){
  60. StudentDTO studentDTO = new StudentDTO();
  61. studentDTO.setId("T003");
  62. studentDTO.setName("戴莉");
  63. studentDTO.setAge(11);
  64. Message<String> message = MessageBuilder.withPayload(JSON.toJSONString(studentDTO)).setHeader("KEYS", studentDTO.getId()).build();
  65. extRocketMQTemplate.asyncSend("studentTopic".concat(":ESS"), message, new SendCallback() {
  66. @Override
  67. public void onSuccess(SendResult sendResult) {
  68. log.info(sendResult.toString());
  69. }
  70. @Override
  71. public void onException(Throwable throwable) {
  72. log.info(throwable.getMessage());
  73. }
  74. });
  75. }
  76. }