gpt4 book ai didi

spring-integration - 使用 spring 集成网关向不同主题发送消息

转载 作者:行者123 更新时间:2023-12-01 03:08:01 24 4
gpt4 key购买 nike

我正在尝试使用 spring 集成将 mqtt 消息发送到代理,并且我正在尝试使用网关接口(interface)。

 @Bean
public MqttPahoClientFactory mqttClientFactory() {
DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();
//set the factory details
return factory:
}

@Bean
@ServiceActivator(inputChannel = "mqttOutboundChannel")
public MessageHandler mqttOutbound() {
MqttPahoMessageHandler messageHandler =
new MqttPahoMessageHandler("randomString", mqttClientFactory());
//set handler details
messageHandler.setDefaultTopic(topic);
return messageHandler;
}

@Bean
public MessageChannel mqttOutboundChannel() {
return new DirectChannel();
}
@MessagingGateway(defaultRequestChannel = "mqttOutboundChannel")
private interface MyGateway {
void sendToMqtt(String data);
}

我的问题是:如果我想使用网关处理程序将消息发送到不同的主题,我将如何做到这一点而不必为每个主题创建一个适配器?

谢谢。

希望我清楚地提出了我的问题并且代码格式正确。

最佳答案

您需要在消息头中设置目标主题。

这是一种方法...

void sendToMqtt(String data, @Header(MqttHeaders.TOPIC) String topic);

网关代理将使用 header 组装消息,然后由出站适配器使用。

关于spring-integration - 使用 spring 集成网关向不同主题发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54766373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com