Я использую сетку Apache Java WicketStuff InMethod и хочу, чтобы сетка автоматически обновляла свое содержимое с интервалом в 1 секунду — окно может оставаться открытым в течение нескольких часов за раз. Поэтому я прикрепил AjaxSelfUpdatingTimerBehaviour к сетке, как показано ниже. Сетка действительно обновляется правильно, однако через некоторое время (~ 15 минут) Google Chrome аварийно завершает работу с исключением нехватки памяти. Профилирование браузера действительно показывает, что память вкладок Chrome постепенно увеличивается с каждым обновлением (как утечка).
Это ожидаемое поведение? Я неправильно использую здесь функциональность Ajax? Должен ли я использовать что-то еще WebSockets? для этого варианта использования?
Я экспериментировал с добавлением метаобновления HTML , чтобы принудительно обновлять страницу каждые 2 минуты, но этот обходной путь мне кажется неприятным.
Заранее спасибо!
import com.inmethod.grid.IDataSource;
import com.inmethod.grid.datagrid.DataGrid;
import com.inmethod.grid.datagrid.DefaultDataGrid;
DataGrid myGrid = new DefaultDataGrid("myGrid", myDataSource,myColumns);
myGrid.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(1)));
Подробнее здесь: https://stackoverflow.com/questions/788 ... r-memory-b