用于java生成文件夹的Paho客户端,如paho101658642587966-tcp1270011883。这有什么重要性?

用于java生成文件夹的Paho客户端,如paho101658642587966-tcp1270011883。这有什么重要性?,java,activemq,mqtt,paho,Java,Activemq,Mqtt,Paho,我正在使用Paho client for java通过mqtt连接到activeMq。我注意到一件奇怪的事。创建的多个文件夹的名称类似于“paho101658642587966-tcp1270011883”,并且有空的.lck文件。使用这些文件的原因以及创建它们的时间。创建这些文件是为了在确认将QOS2消息交付给代理之前存储这些消息的机上消息 它们是由类创建的,您可以通过创建自己的MQTTDefaultFilePresistence对象并将其传递给构造函数来更改目录名和路径 您也可以切换到内存存

我正在使用Paho client for java通过mqtt连接到activeMq。我注意到一件奇怪的事。创建的多个文件夹的名称类似于“paho101658642587966-tcp1270011883”,并且有空的.lck文件。使用这些文件的原因以及创建它们的时间。

创建这些文件是为了在确认将QOS2消息交付给代理之前存储这些消息的机上消息

它们是由类创建的,您可以通过创建自己的MQTTDefaultFilePresistence对象并将其传递给构造函数来更改目录名和路径


您也可以切换到内存存储,但如果在确认传递之前客户端崩溃,这将改变QOS2消息的处理方式。

您可以将客户端执行的/tmp目录指定为:

String receiverId = UUID.randomUUID().toString();

IMqttClient receiver = new MqttClient(
                "tcp://" + properties.getProperty("host") + ":" + properties.getProperty("port"), receiverId, new MqttDefaultFilePersistence("/tmp"));

我没有使用QOS2消息。这没关系,存储是分配的,以防您以后以更高的QOS发布/订阅