用于 java 生成文件夹的 Paho 客户端,如 paho101658642587966-tcp1270011883。这有啥重要性?
Posted
技术标签:
【中文标题】用于 java 生成文件夹的 Paho 客户端,如 paho101658642587966-tcp1270011883。这有啥重要性?【英文标题】:Paho client for java generating folder like paho101658642587966-tcp1270011883. what is the importance of this?用于 java 生成文件夹的 Paho 客户端,如 paho101658642587966-tcp1270011883。这有什么重要性? 【发布时间】:2016-05-29 00:41:41 【问题描述】:我正在使用 Java 的 Paho 客户端通过 mqtt 连接到 activeMq。我注意到一件奇怪的事情。创建了几个文件夹,其名称如“paho101658642587966-tcp1270011883”并具有空的 .lck 文件。为什么要使用它们以及何时创建它们。
【问题讨论】:
【参考方案1】:创建这些文件是为了在确认传送到代理之前存储 QOS2 消息的飞行消息。
它们由MQTTDefaultFilePersistence 类创建,您可以通过创建自己的MQTTDefaultFilePresistence 对象并将其传递给MQTTClient 构造函数来更改目录名称和路径。
您也可以切换到内存存储,但是如果客户端在确认交付之前崩溃,这将改变 QOS2 消息的处理方式。
【讨论】:
我没有使用 QOS2 消息。 没关系,分配存储以防您以后以更高的 QOS 发布/订阅【参考方案2】:您可以将客户端执行的 /tmp 目录指定为:
String receiverId = UUID.randomUUID().toString();
IMqttClient receiver = new MqttClient(
"tcp://" + properties.getProperty("host") + ":" + properties.getProperty("port"), receiverId, new MqttDefaultFilePersistence("/tmp"));
【讨论】:
以上是关于用于 java 生成文件夹的 Paho 客户端,如 paho101658642587966-tcp1270011883。这有啥重要性?的主要内容,如果未能解决你的问题,请参考以下文章
MQTT研究之EMQ:eclipse的paho之java客户端使用注意事项
python paho mqtt客户端连接通过ssl/tls给出错误
org.eclipse.paho.mqtt.java-1.0.2 怎么用