* WAS와 DBMS 통신시 타임아웃 계층 이해 1. TransactionTimeout - 어플리케이션에서 트랜잭션으로 묶은 단위의 timeout - Spring에서 xml이나 @Transactional을 이용해서 설정 할 수 있다 2. StatementTimeout - query statement 하나당 timeout - 기본적으로는 JDBC의 java.sql.Statement.setQueryTimeout(int timeout) 메소드로 설정 - ORM에 따른 설정 방법 제공 3. SocketTimeout - JDBC 드라이버와 DBMS 사이의 socket timeout - connectTimeout과 socketTimeout 두 가지가 있음 - connectTimeout: socket 연결에 관한 timeout - socketTimeout: socket read/write 관한 timeout 비고) Transaction은 다수(n개)의 statement를 포함할 수 있기 때문에 n * StatementTimeout + 𝝰 이상으로 잡아줘야 하고, SocketTimeout은 하나의 statement가 끝날때 까지는 유지해 줘야 함으로 StatementTimeout 보다는 크게 잡아 줘야 한다. 위 내용은 출처에서 내가 필요한 내용 위주로 간추린 것인데, 주로 Oracle을 사용하다 보니 이에 대해 Socket Timeout 포커스를 맞춰 적어 보면, MySQL을 사용할 때는 아래처럼 url query param으로 줬었는데 jdbc:mysql://xxx.xx.xxx.xxx:3306/database?connectTimeout=60000&socketTimeout= Oracle의 경우는 oracle.jdbc.ReadTimeout=milliseconds 로 설정이 가능한데 , D...