Vaadin 8 PushMode.MANUAL-此模式用于什么?

Vaadin 8 PushMode.MANUAL-此模式用于什么?,vaadin,vaadin8,push-technology,Vaadin,Vaadin8,Push Technology,如前所述,提供对的内置支持 我们可以指定其中任何一项,其中一项记录为: 已启用推送。在客户端和服务器之间建立一个双向通道,用于通信状态更改和RPC调用。如果服务器端状态异步更改,则客户端不会自动更新;必须显式调用ui.push() 如果推送的全部目的是自动更新客户端,我们为什么要使用此模式 这两种模式都保持通信通道打开,以便可以随时从服务器向客户端发送更新,而不是PushMode。禁用的模式只能在响应客户端对用户活动打开的请求时向客户端发送更新 区别在于实际使用此功能的时间。使用PushMode

如前所述,提供对的内置支持

我们可以指定其中任何一项,其中一项记录为:

已启用推送。在客户端和服务器之间建立一个双向通道,用于通信状态更改和RPC调用。如果服务器端状态异步更改,则客户端不会自动更新;必须显式调用ui.push()


如果推送的全部目的是自动更新客户端,我们为什么要使用此模式

这两种模式都保持通信通道打开,以便可以随时从服务器向客户端发送更新,而不是
PushMode。禁用的
模式只能在响应客户端对用户活动打开的请求时向客户端发送更新

区别在于实际使用此功能的时间。使用
PushMode.AUTOMATIC
,只要会话解锁,即在运行从后台线程调度的挂起
ui.access()任务后,就会发送更新

如果没有任何更改,则不会发送更新,但是检查这种情况仍然会有一些开销。当大量细粒度的
ui.access()
任务快速连续运行时,也可能出现这种情况,但不希望将它们全部作为单独的更新发送给客户端


PushMode.MANUAL
的目的是让应用程序开发人员通过显式调用
ui.push()
来控制何时实际发送更改。这使得在自动模式会导致过度推送的情况下,可以更好地优化资源消耗。这几乎不需要,但这种可能性仍然存在。

这两种模式都保持通信通道打开,以便随时从服务器向客户端发送更新,与
PushMode.DISABLED
相比,它只能在响应客户端作为对用户活动的响应而打开的请求时向客户端发送更新

区别在于实际使用此功能的时间。使用
PushMode.AUTOMATIC
,只要会话解锁,即在运行从后台线程调度的挂起
ui.access()任务后,就会发送更新

如果没有任何更改,则不会发送更新,但是检查这种情况仍然会有一些开销。当大量细粒度的
ui.access()
任务快速连续运行时,也可能出现这种情况,但不希望将它们全部作为单独的更新发送给客户端


PushMode.MANUAL
的目的是让应用程序开发人员通过显式调用
ui.push()
来控制何时实际发送更改。这使得在自动模式会导致过度推送的情况下,可以更好地优化资源消耗。很少需要这样做,但这种可能性仍然存在。

例如,如果您希望每5分钟推一次(但并非总是如此)。这是一个负荷问题,例如,当你希望每5分钟推一次(并非总是这样)。这是一个很难回答的问题