매 5 초마다 jMapViewer에서 마커를 업데이트하려고합니다. 이것은지도를 이동할 때까지 제대로 작동하는 것 같습니다. 이 시점에서 java.util.ConcurrentModificationException
을 던집니다.java.util.ConcurrentModificationException 이동 중 jMapViewer
저는 이것이지도 마커 목록에 동시에 액세스하려는 여러 프로세스와 관련이 있다고 생각하지만 해결 방법을 모르겠습니다.
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
loadUnits();
}
}, 5 * 1000, 5 * 1000);
private void loadUnits() {
String query = "SELECT callsign, currentlat,currentlon,previouslat,previouslon, mobile, uniticon FROM unit WHERE isdeleted=0;";
rs = DBase.runQuery(query);
kit.removeAllMapMarkers();
MapMarkerUnit x;
try {
while (rs.next()) {
x = new MapMarkerUnit(rs.getDouble("currentlat"),rs.getDouble("currentlon"));
if (rs.getInt("mobile") == 1) x.setMovement(true);
else x.setMovement(false);
x.setIconName(rs.getString("uniticon"));
x.setPriority(1);
kit.addMapMarker(x);
}
}
catch (SQLException e) {
System.out.print(e.toString());
}
}
도움 주셔서 감사합니다.
키에 란은
'rs'란 무엇입니까? MWE를 줄 수 있습니까? –
RS는 MySQL 데이터베이스에서 가져온 ResultSet입니다. 미안 MWE? 이것에 조금 새로운. – KieranS
최소 작업 예제, 다른 말로하면 하나의 코드를 컴파일하고 실험 할 수 있습니다. –