thread 를 이용해 여러개의 connection을 생성해 DB에서 읽어온 데이터를 가지고 작업할 일이 있었으나, jdbc 가 thread-safe 하지 않아서 인지 자꾸 오류가 나는 것이었다. (분명 다른 connection인데 같은 statement, resultset 를 생성하여, 더이상 읽어온 값이 없다는 오류를 뱉는 둥...) 최대한의 동시성을 유지하면서 무결성이 깨지지 않는 동기화 수준을 정리할 필요성을 느낌... [Connection] - DriverManager 수준 synchronized(DriverManager.class) { conn = (Connection)DriverManager.getConnection(jdbcUrl, dbProp); } [Statement, PreparedSt..