【发布时间】:2014-06-05 16:45:13
【问题描述】:
在我基于 vaadin 的 Web 应用程序中,我有以下两个类。在 MyTable 类中,realTimeUpdate 方法每秒不断更新表值。同时从用户操作方法 1 被调用以进行表行编辑。当用户操作调用 method1 时,会发生“并发修改异常”。我可以为这个问题申请的最佳解决方案是什么?
public class MyView extends CustomComponent implements View{
private IndexedContainer container = new IndexedContainer();
private Table table = new Table();
public MyView(){
......
table.setContainerDataSource(container);
}
}
public class MyTable
{
public void method1(Table table)
{
Container container = table.getContainerDataSource();
Iterator<?> iterator = container.getItemIds().iterator();
while (iterator.hasNext())
{
Object itemId = iterator.next();
...... some code to modify table row
}
}
public void realTimeUpdate(Table table)
{
Container container = table.getContainerDataSource();
Iterator<?> iterator = container.getItemIds().iterator();
while (iterator.hasNext())
{
Object itemId = iterator.next();
...... some code to update table values
}
}
}
【问题讨论】:
标签: java vaadin vaadin7 concurrentmodification