RabbitMqUtils.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.fdkankan.mqcontroller.utils;
  2. import cn.hutool.core.codec.Base64;
  3. import cn.hutool.core.util.CharsetUtil;
  4. import cn.hutool.http.HttpRequest;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.fdkankan.mqcontroller.entity.MqMsg;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.apache.catalina.Host;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.stereotype.Component;
  11. @Slf4j
  12. public class RabbitMqUtils {
  13. /**
  14. * 根据rabbitmq client 获取信息
  15. */
  16. public static MqMsg getRabbitMqMsg(String rabbitMgmtUrl,String vhost, String userName,String password,String queueName) {
  17. String url = rabbitMgmtUrl + "/api/queues/" + vhost + "/" + queueName;
  18. log.info("getRabbitMqMsg-url:{}",url);
  19. // 添加请求头
  20. // 设置认证信息
  21. try {
  22. HttpRequest request = HttpRequest.get(url)
  23. .header("authorization", "Basic " +
  24. Base64.encode((userName + ":" + password).getBytes(CharsetUtil.UTF_8)));
  25. // 发送请求,并获取响应字符串
  26. String response = request.execute().body();
  27. log.info("getRabbitMqMsg-resp:{}",response);
  28. JSONObject jsonObject = JSONObject.parseObject(response);
  29. return JSONObject.toJavaObject(jsonObject,MqMsg.class);
  30. }catch (Exception e){
  31. log.info("获取mq信息失败:",e);
  32. }
  33. return null;
  34. }
  35. }