Thursday, September 22, 2016

Refresh of CellTable via data transmitted via WebSocket delayed

I have a somewhat complex problem related to a CellTable that updates based on messages received over a WebSocket connection. The problem is as follows: The table does not update in real-time, even though "setRowData" and redraw* are called in real-time. There is a delay in the row appearing in the CellTable, or rather in the DOM as a table row. I realize that redraw does not actually redraw but sets a flag via HasDataPresenter.redraw, which checked elsewhere. It is often the case that mouse movement causes the row to appear - and I have been able to reproduce this behavior. When I put in a timer firing every 300 milliseconds, its execution also causes the row to appear.

It is flummoxing because the problem did not occur until I switched from a prototype implementation of basic websockets to a prototype implementation of STOMP-wrapped websockets (stomp being a MOM-supported protocol for supported messaging from "simple clients"). However, in both cases, there is no difference as to when the data is delivered via setData and redraw is called, so the change should not affect how or when the cellTable gets updated.

I am considering eliminating the use of CellTable and have a simpler DOM manipulation, but I'd prefer to determine what I am doing that is causing this problem, whether it is misuse of CellTable API or inappropriate expectations of CellTable behavior. I can't really post any code because it is all integrated, and I can kind of work around it.

Does anyone have any ideas how to approach this problem or where I might begin to look for a solution?

Sincerely,
Kay

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment