一些引人入胜的CometD沟通行为

时间:2016-11-17 04:39:31

标签: java multithreading cometd

我有一个基于Java的CometD客户端,它使用发布来获取一些数据。应用程序可以毫无问题地获取信息,但随后会发生一系列奇怪的事情:

  1. 与客户端的连接超时。这是我无法阻止的常规事情。

  2. 客户端重新建立与服务器的连接。它似乎通过启动另一个实际重复相同信息请求的线程来做到这一点!

  3. 客户端再次获取相同的信息。根据它的作用,客户端应用程序的行为会被搞砸。

  4. 连接再次超时,然后循环重复。只要客户端正在运行,就会发生这种情况。

    因此,我发现客户行为会随着时间的推移而恶化。对话框变得复制,创建了越来越多的线程,我看到多次超时,多次请求相同的信息,以及浪费应用程序的资源一遍又一遍地处理相同的信息。

    我需要找到一种方法来阻止这种情况。有人可以告诉我以下内容:

  5. 有没有办法控制超时。我已经尝试了基于CometD文档的各种方法来至少延长超时时间。他们似乎都没有工作。如果可能的话,我宁愿完全关闭超时。

  6. 如何阻止客户端不断重新发送相同的数据请求?我的客户不能保证总是有连接(其中一些是手机或平板电脑在信号不太可靠的偏远地区运行)。有没有办法阻止客户端在恢复连接时重新发送已完成的请求?

    有人请告知......

0 个答案:

没有答案