저는 Mqtt을 사용하기 시작했습니다. 신뢰할 수없는 네트워크를 처리하는 데 어려움이 있습니다. Poho Java 클라이언트 (그루비 있음)를 사용하여 먼 Mosquitto Broker에 메시지를 게시하고 있습니다.Mqtt Paho - 브로커에 연결할 수없는 동안 게시하려고 시도합니다.
브로커에 연결할 수없는 경우 Paho 클라이언트가 메시지를 유지하고 브로커에 자동으로 다시 연결하여 로컬로 저장된 메시지를 게시하는 방법이 있습니까? 예를 들어 지역 중개인을 사용하여 모든 것을 직접 처리해야합니까? 여기
내 클라이언트 건물 코드String persistenceDir = config['persistence-dir'] ?: System.getProperty('java.io.tmpdir') def persistence = new MqttDefaultFilePersistence(persistenceDir) client = new MqttAsyncClient(uri, clientId, persistence) client.setCallback(this) options = new MqttConnectOptions() if (config.password) { options.setPassword(config.password as char[]) options.setUserName(config.user) } options.setCleanSession(false) client.connect(options)
그리고 내 게시 코드
def message = new MqttMessage(Json.encode(outgoingMessage).getBytes()) try { client?.connect(options) def topic = client.getTopic('processMsg') message.setQos(1) def token = topic.publish(message) if (client) { client.disconnect() }
감사