Paho MqttClient 的发布方法永远阻塞

2023-12-24

这非常适合启动连接并发布第一条消息:

MemoryPersistence persistence = new MemoryPersistence();
client = new MqttClient("tcp://" + IrisProperties.MQTT_SERVER_ADDRESS,
    IrisProperties.MQTT_USERNAME,persistence);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setConnectionTimeout(1);
connOpts.setUserName(IrisProperties.MQTT_USERNAME);
connOpts.setPassword(IrisProperties.MQTT_PASSWORD.toCharArray());
connOpts.setCleanSession(true);
client.connect(connOpts);

此连接每秒发布超过 100 条消息,这行没有问题:

MqttMessage message = new MqttMessage(content.getBytes());
message.setQos(qos);
client.publish(topic, message);

但是过了一会儿(几分钟后)这个方法的第三行

sampleClient.publish(topic, message);

即使我将超时设置为 1 秒,线程也会永远阻塞。

我使用 Moquette 作为带有 websockets 的 MQTT 代理。


Use

client.setTimeToWait(timeToWaitInMillis);

默认情况下,该时间为 -1,因此这将阻止当前线程,直到操作完成。超时指定它将阻止线程的最长时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Paho MqttClient 的发布方法永远阻塞 的相关文章

  • 使用 Java 编辑 jpeg EXIF 数据

    我想编辑 jpg 文件的属性 例如 评论 标题 拍摄日期 相机制造商等 我找到了读取这些数据的库 但我需要一个free带有示例的库edit them 我知道 apache 的成像 sanselan 但我无法用它编辑数据 如果您以前自己使用过
  • Java NIO Pipe 与 BlockingQueue

    我刚刚发现它只有一个 NIO 工具 即 Java NIO Pipe 它是为在线程之间传递数据而设计的 与通过队列 例如 ArrayBlockingQueue 传递的更传统的消息相比 使用此机制是否有任何优势 通常 将数据传递给另一个线程进行
  • 使用 REST API 实现属性/字段级安全

    我正在为支持多租户授权模型的 REST API 构建概念验证 该模型不仅控制用户可以访问哪些对象 还控制对象中的字段 此模型的目标是确保租户管理员只能修改其租户并且只能查看允许的对象属性 我有一个正在开发的现有代码库 可在以下位置公开获取
  • 在 Java 中,三个 true 输入的 XOR 返回 true。为什么?

    下面的代码 System out println 1 0 0 true false false System out println 1 0 1 true false true System out println 1 1 0 true t
  • Android - 检测电容式触摸屏上的触摸压力?

    我听说过 MotionEvent e float press e getPressure 但这只会在没有触摸时返回 0 当我的手指触摸屏幕时返回 1 是否可以找到手指在触摸电容屏上施加的压力值 或者我的预感是否正确 即这只适用于电阻屏幕 M
  • log4j2 SMTP Appender:如何包含另一个级别的先前消息?

    我正在使用 log4j2 beta9 并且有以下配置 其中一部分
  • 原型 Bean 未按预期自动装配

    测试控制器 java RestController public class TestController Autowired private TestClass testClass RequestMapping value test me
  • 创建UML图时应该编写构造函数吗?

    我有一项作业要求我为实际的 Java 程序创建 UML 图 但程序中有几个构造函数方法 我很困惑 我是否应该将这些构造函数方法添加到图中 根据 UML 规范 2 5 版第 11 4 4 节 构造函数是一个具有所属类类型的单个返回结果参数的操
  • 有没有办法在@Service上使用@ControllerAdvice

    我有一个项目需求 但我没有任何需求 Controller or RestController但我需要为我的服务层提供一个全局异常处理程序 所以我需要配置 ControllerAdvice on Service 请告诉我是否还有其他方法可以做
  • 在 Retrofit 中的 POST 请求中发送空正文

    我的 api 需要一个空的 json 主体 发出帖子请求时 如何在 Retrofit 和 Jackson 中进行设置 我尝试通过null 和空字符串 以及 但无法让它发挥作用 POST my url Call
  • 如何将多个值存储到一个键(java)

    我搜索一个可以存储多个键值对的数据结构 数据基本上是这样的 1 value 1 2 value 2 于是我想到了使用HashMap 遗憾的是 这对我不起作用 因为一个键可能会出现多个值 在上面的例子中 1 value 2 可能是另一个条目
  • 如何用Java捕获音频数据

    我想访问我的麦克风用 Java 录制的音频数据 我该怎么做呢 我的目标是保存录制的音频数据并同时向用户播放 如果您不需要 JMF 中的任何附加功能 我会避免使用它 因为开发已经停止 最后一个版本是 2004 年 它与 Java 6 存在兼容
  • egit:设置gitignore忽略所有eclipse项目文件

    我在 github 上有一个项目 我想从中删除所有与 eclipse 相关的文件 并允许克隆它的人使用他们想要的任何 ide 这是该项目 https github com vedi0boy Archipelo https github co
  • Jlist 自定义渲染器

    我正在尝试添加一个我猜你会称其为列表中每个项目的子列表 我构建了一个自定义渲染器 它提供以下输出 正如你所看到的 有些东西不对劲 我没能找到问题的答案 我猜我需要更改面板布局中的某些内容才能获得正确的结果 但不知道是什么 https i s
  • 用 Java 编写“漂亮”代码的标准? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Java 需要一个 FileSet 包/类

    任何人都可以建议 Java 中的 FileSet 包 类吗 我所说的 FileSet 是指文件和目录的集合以及正则表达式支持的包含和排除规则 类似于 Apache Ant 谢谢 Apache 公共 IO文件工具 http commons a
  • Jersey:返回字符串列表

    我尝试以 JSON 和 XML 形式返回 Jersey 中的字符串列表 我以为这会是微不足道的 我的第一次尝试是写这样的东西 GET Produces MediaType APPLICATION JSON MediaType APPLICA
  • 在 Groovy 中将整数转换为 BigDecimal

    假设我们有一个 groovy 函数作为参数BigDecimal void func BigDecimal bd 并在 groovy 的其他课程中再次调用它var func 0 这工作正常 但在 java 中它根本无法编译 我知道有一个构造函
  • java银行程序帐户ID不上去?

    每次创建银行帐户时 帐户 ID 都应增加 1 但每次我尝试提取 Id 时 我只会得到帐户 ID 为 0 任何建议 因为我完全按照我学习的书中的方式进行操作而且它仍然没有更新 帐户构造函数 public class BankAccount p
  • 将菜单添加到空活动

    我在 Android Studio 中制作了一个 Android 应用程序 并想在其上创建一个选项菜单 我将其创建为一个空活动 现在意识到我最好创建一个空白活动来获取选项菜单 无论如何 是否可以在空活动中创建选项菜单 如果有人能给我指出一个

随机推荐

  • JavaScript 回调函数中的变量范围

    我预计下面的代码会警告 0 和 1 但它警告 2 两次 我不明白原因 不知道是不是jquery的问题 另外 如果这篇文章的标题和标签不准确 请帮助我编辑
  • 如何用不同的标记绘制多条线

    我想绘制多条线MATLAB http en wikipedia org wiki MATLAB这样做 每一行的标记都会不同 我知道通过颜色可以实现这一点ColorSet hsv 12 有没有像这种简单的标记方法 好吧 我不知道内置功能MAT
  • 检测文本中的信用卡号

    我正在尝试找到一种组件或方法来检测文本中不同类型的信用卡号码 我找到了很多有关验证信用卡号的信息 但我需要能够获取文本正文 例如网页并检查是否存在信用卡号 银行帐号和 或排序代码 有谁知道有一个可以帮助商业或其他方面的组件吗 具体来说 我的
  • 黑莓表视图

    这是我的应用程序 如何在下面添加表格视图或网格 我应该画所有东西吗请帮忙 这是我的代码 import net rim device api ui import net rim device api ui component import n
  • Bash 中的 if、elif、else 语句问题

    我似乎无法弄清楚以下问题是什么if声明是关于elif and then 请记住printf仍在开发中 我只是还无法在声明中对其进行测试 因此很可能是错误的 我收到的错误是 timezone string sh line 14 syntax
  • 如何在 SwiftUI 中的文本末尾添加按钮?

    我想在游戏中心设置中创建一个类似于 Apple 的 UI 其中文本末尾有一个可点击的链接 我正在使用 SwiftUI 我尝试结合Text and Button有几个方面 Form Text A social gaming service t
  • PHP - 如何在没有 API 访问令牌的情况下从 Instagram 获取图像

    我可以在没有 Instagram API 或访问令牌的情况下从 Instagram 个人资料获取图像吗 您可以获得所有图像 只需迭代它们page info 另外 还有更方便的获取json的方式 otherPage nasa profileU
  • 如何在 javascript 中实现 C# 访问修饰符?

    Summary 我尝试在 javascript 中正确实现继承和封装 就像在基于类的语言 例如 c 中一样 丑陋的部分是受保护的成员在私有实例中有多个副本 这些副本只能通过闭包访问 除了将这些成员刷新到私有实例之外我没有任何想法 如果可以的
  • 由于连接字符串不正确,连接到 Azure MySQL 服务器失败

    当尝试从 mysql 客户端连接到 Azure 中的 MySQL 服务器时 即使我使用正确的用户名和服务器名称 也会收到以下错误 我怎样才能解决这个问题 连接字符串可能不正确 请访问门户网站以获取参考 连接到 Azure Database
  • JTable:覆盖 CTRL+C 行为

    I have a JTable set on SINGLE SELECTION mode i e the user can only select one row at a time I am trying to override the
  • 在常规 Maven 构建中使用 Eclipse p2 存储库中的依赖项?

    我想在 常规 Maven 3 构建 例如 JAR 或 WAR 打包 中使用来自远程 Eclipse p2 存储库的依赖项 所有这些都无需将 p2 存储库转换为本地 Maven 存储库 这就是 osgi to maven2 和m4e 似乎可以
  • React 在状态更改后不重新渲染,如何设置子组件的状态?

    Problem 我将立法者集合放入表中 字段标题是按钮 并附加了单击事件 通过单击的字段按钮对集合进行排序 render const legislatorList this populateList creates an Array of
  • javascript 仅当选项卡/浏览器窗口聚焦时才应运行[重复]

    这个问题在这里已经有答案了 可能的重复 检测浏览器选项卡是否具有焦点 https stackoverflow com questions 7389328 detect if browser tab has focus 我有一个简单的java
  • 为什么Python同时使用引用计数和标记-清除来进行GC?

    我的问题是为什么 python 同时使用引用计数和标记和清除来进行GC 为什么不只是标记和清除 我最初的猜测是 使用引用计数可以轻松删除非循环引用的对象 这可能会在一定程度上加快标记和清除速度并立即获得内存 不知道我的猜测是否正确 有什么想
  • 使用 mod_rewrite,如何强制路径和查询字符串全部小写?

    这看起来应该是一件很容易做到的事情 但我一生都无法弄清楚这一点 我想强制我的整个 URL 为小写 例如 http www EXAMPLE com foo q bar http www example com FOO q bar http w
  • ng-repeat动态变量名

    我正在实现 ng repeat 来为引导手风琴界面创建元素 我有 ng repeat 工作 但是我遇到的问题是我需要动态创建 ID 以便单独定位手风琴元素 我的 ng repeat HTML 块引用 div class panel head
  • Java:如何从正则表达式解析双精度

    我有一个看起来像 A 1 23 B 2 345 C 3 567 的字符串 我只对 C 3 567 感兴趣 到目前为止我所拥有的是 Matcher m Pattern compile C d d matcher A 1 23 B 2 345
  • actionLayout 在导航抽屉中的定位

    我有以下设置
  • 在Excel VBA中的某个字符串上方插入一个空白行

    我有一个包含多个工作表的工作簿 每个工作表都有不同的产品信息 在每张表的 B 列中 最后一行是总计 如果在 B 列中找到 TOTALS 我想插入一个空白行 并且我想将其插入到 TOTALS 行的正上方 现在代码运行没有任何问题 但也没有发生
  • Paho MqttClient 的发布方法永远阻塞

    这非常适合启动连接并发布第一条消息 MemoryPersistence persistence new MemoryPersistence client new MqttClient tcp IrisProperties MQTT SERV