java - 是否有类似 DefaultMqttPahoClientFactory 的东西用于创建异步客户端?

标签 java spring spring-integration mqtt paho

我想在 Spring Integration 中使用异步 Paho 客户端:

@Bean
public DefaultMqttPahoClientFactory clientFactory() {
    return new DefaultMqttPahoClientFactory();
}

<int-mqtt:message-driven-channel-adapter id="mqttInbound"
client-id="${mqtt.default.client.id}.src"
url="${mqtt.url}"
topics="sometopic"
client-factory="clientFactory"
channel="output"/>

我必须自己写一个吗?我只能找到同步客户端工厂的示例。

最佳答案

正确;目前仅支持同步客户端。

欢迎打开improvement JIRA issue here当然还有contributions are always welcome - guidelines here

也就是说,我不清楚在入站适配器中使用异步客户端的好处(如您的示例所示);它是消息驱动的,到达的消息在客户端线程上异步传递。显然,出站适配器可以从异步操作中获得一些好处。

outbound adapter非常简单,编写一个使用异步客户端的应用程序应该不会太难 - 它可能需要将传递 token 发送到某个 channel - 但我们应该从 IMqttDeliveryToken 对象中抽象出来,这样我们不要将 Paho 泄漏到上层。

关于java - 是否有类似 DefaultMqttPahoClientFactory 的东西用于创建异步客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24141082/

相关文章:

java - 如何在Java中获取要从BlobStore下载的文件的Blob Key?

java - 我可以在 java keystore 中导入的 key 数量限制是多少?

javascript - java.lang.StackOverflowError Jquery/Java

java - Spring 批处理元素分割器

jakarta-ee - Spring Security - 'global-method-security' 不起作用

Java "did you forget to inherit a required module"并获取方法 [GWT]

java - 在类方法中传递变量

java - 使用ManyToMany关系时如何在Spring中获取对象外键列表?

java - 更新多对多关系以包含新字段

java - 在 Spring 集成上下文中 stub 模拟 bean 中的方法