これは単純に思えますが、何らかの理由でVaadin 7.0.7を使用すると、表示するデータを取得中に ListSelect がダーティとマークされているように見えます。
コードは
....
FieldGroup group = new FieldGroup(bean);
SQLContainer c = new SQLContainer(new TableQuery(null, "USER", "SYSTEM", pool, new OracleGenerator()));
ListSelect options = new ListSelect("System", c);
group.bind(options, "system");
....
しかし、これは、ListSelect が ID を取得しているときにエラーをスローしているようです。これは、更新時に SQL コンテナーがダーティとマークされているように見えるためです。
java.lang.IllegalStateException: A connector should not be marked as dirty while a response is being written.
at com.vaadin.ui.ConnectorTracker.markDirty(ConnectorTracker.java:346)
at com.vaadin.server.AbstractClientConnector.markAsDirty(AbstractClientConnector.java:139)
at com.vaadin.ui.AbstractSelect.fireItemSetChange(AbstractSelect.java:1679)
at com.vaadin.ui.AbstractSelect.containerItemSetChange(AbstractSelect.java:1646)
at com.vaadin.data.util.sqlcontainer.SQLContainer.fireContentsChange(SQLContainer.java:1585)
at com.vaadin.data.util.sqlcontainer.SQLContainer.refresh(SQLContainer.java:877)
at com.vaadin.data.util.sqlcontainer.SQLContainer.updateCount(SQLContainer.java:1129)
at com.vaadin.data.util.sqlcontainer.SQLContainer.getItemIds(SQLContainer.java:326)
at com.vaadin.ui.AbstractSelect.getItemIds(AbstractSelect.java:728)
at com.vaadin.ui.AbstractSelect.paintContent(AbstractSelect.java:367)
at com.vaadin.ui.ListSelect.paintContent(ListSelect.java:124)
at com.vaadin.server.LegacyPaint.paint(LegacyPaint.java:65)
誰かがこれを回避する方法を見つけましたか?