2017-02-07 1 views
0

PAHO mqtt를 사용하여 spring Maven에 webapp를 생성하고 있습니다. 그리고 mqtt를 구현하는 두 가지 방법이 있습니다. 하나는 Spring Mqtt 통합이고, 다른 하나는 연결 객체를 생성하고 연결/연결 해제하는 일반적인 방법입니다. 그러나 얼마나 편리하고 신뢰할 수 있는지에 차이가 있습니다.Spring mqtt integration SubscribeYou

지금은 Spring Mqtt 통합으로 가입을 구현하고 있지만 쉽게 이해할 수있는 튜토리얼은 없습니다.

감사합니다.

답변

-1

Spring Integration MQTT Sample Spring Boot App을 참조하십시오.

stdIn에서 읽기는 MQTT를 통해 데이터를 전송하고 데이터를 수신하여 기록합니다.

// publisher 

@Bean 
public IntegrationFlow mqttOutFlow() { 
    return IntegrationFlows.from(CharacterStreamReadingMessageSource.stdin(), 
        e -> e.poller(Pollers.fixedDelay(1000))) 
      .transform(p -> p + " sent to MQTT") 
      .handle(mqttOutbound()) 
      .get(); 
} 

@Bean 
public MessageHandler mqttOutbound() { 
    MqttPahoMessageHandler messageHandler = new MqttPahoMessageHandler("siSamplePublisher", mqttClientFactory()); 
    messageHandler.setAsync(true); 
    messageHandler.setDefaultTopic("siSampleTopic"); 
    return messageHandler; 
} 

// consumer 

@Bean 
public IntegrationFlow mqttInFlow() { 
    return IntegrationFlows.from(mqttInbound()) 
      .transform(p -> p + ", received from MQTT") 
      .handle(logger()) 
      .get(); 
} 

private LoggingHandler logger() { 
    LoggingHandler loggingHandler = new LoggingHandler("INFO"); 
    loggingHandler.setLoggerName("siSample"); 
    return loggingHandler; 
} 

@Bean 
public MessageProducerSupport mqttInbound() { 
    MqttPahoMessageDrivenChannelAdapter adapter = new MqttPahoMessageDrivenChannelAdapter("siSampleConsumer", 
      mqttClientFactory(), "siSampleTopic"); 
    adapter.setCompletionTimeout(5000); 
    adapter.setConverter(new DefaultPahoMessageConverter()); 
    adapter.setQos(1); 
    return adapter; 
} 
+0

링크가 GitHub이지만 링크를 찍은 것이 아니기 때문에. –

관련 문제