Programming/Java 16

JDK/JRE 6 + TLS 1.2 / javax.net.ssl.SSLException: Received fatal alert: protocol_version 조치

JDK/JRE 6 버전은 기본적으로 TLS 1.2 버전을 지원하지 않아 업그레이드가 필요하지만,당장 작업이 여의치 않을 경우, JCE 및 BouncyCastle를 설치하여 사용 가능합니다. 1. 사이트에서 허용하는 Cipher와 내 서버에 설치된 JDK/JRE에서 지원하는 cipher 목록을 비교맞는 cipher가 없는 경우 handshake 오류가 발생합니다. 1) 사이트 허용 TLS, Cipher 정보 확인https://www.ssllabs.com/위 사이트에서 URL 조회 후, Cipher Suites 항목의 # TLS 1.2 (suites in server-preferred order) 목록에 나옵니다. 2) 설치된 JDK/JRE 의 Supported Cipher 확인 (샘플 코드)import j..

Programming/Java 2024.05.03

[JDBC] 간단한 DB 매니저

VO 쓰기 귀찮을 때...String으로만 처리하는 단점이 있으니필요한 경우, jdbc type - java type 매핑테이블에 따라 바꿔야 할 듯 package com.manager; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; import javax.naming.I..

Programming/Java 2014.08.05

동기화 필요한 Class 정리 (mutable)

사실 JDK API doc 에 개별적으로 다 있긴 하지만, 따로 정리가 필요할 듯 싶다. (멀티스레드 동작 중 값이 이상하게 들어온다 싶으면 일단 의심...) 내부적으로 상태를 유지하기 때문에 작업이 끝나기전에 다른 요청이 들어오면 상태값이 바뀌어 예측할 수 없게 된다. synchronized block 감싸거나(성능 고려), 새로 인스턴스를 만들어서 해결할 수 있음 java.util.SimpleDateFormat java.sql.Connection java.sql.Statement 이하

Programming/Java 2012.01.20