Вот код для аутентификации брокера mqtt с помощью интеграции mqtt-spring,
public DefaultMqttPahoClientFactory clientfactory() {
DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();
MqttConnectOptions options = new MqttConnectOptions();
options.setUserName("username");
options.setPassword("password".toCharArray());
options.setServerURIs(new String[] { "tcp://localhost:1883" });
factory.setConnectionOptions(options);
return factory;
}
@Bean
@ServiceActivator(inputChannel = "mqttOutboundChannel")
public MqttPahoMessageHandler mqqtMessageHandler() {
MqttPahoMessageHandler handler = new MqttPahoMessageHandler("clientId", clientfactory());
handler.setAsync(true);
handler.setDefaultQos(2);
handler.setDefaultRetained(true);
return handler;
}
Предположим, я использую много клиентов для публикации данных в их собственном наборе тем. И я должен назначитьуникальные учетные данные аутентификации для каждого клиента для установления соединения с mqtt-брокером. Я думаю, что приведенный выше код допускает только один набор учетных данных, даже если мы используем много клиентов. Можно ли сделать динамическим?