SimpleContext.java 716 B

12345678910111213141516171819202122232425
  1. package com.usky.topsail.service.mqtt;
  2. import com.usky.topsail.service.vo.MqttBaseVO;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Service;
  5. import java.util.Map;
  6. import java.util.concurrent.ConcurrentHashMap;
  7. /**
  8. * 中间处理消息转发
  9. */
  10. @Service
  11. public class SimpleContext {
  12. @Autowired
  13. private final Map<String, MqttStrategy> strategyMap = new ConcurrentHashMap<>();
  14. public SimpleContext(Map<String, MqttStrategy> strategyMap) {
  15. strategyMap.forEach(this.strategyMap::put);
  16. }
  17. public String getResource(MqttBaseVO mqttBaseVO) {
  18. return strategyMap.get(mqttBaseVO.getDescribe()).disposeMessage(mqttBaseVO);
  19. }
  20. }