오라클 시퀀스를 사용한 기능을 추가하던 중 시퀀스가 증가하지 않는 현상이 발생하였음. 간략한 작업 내용은 특정 시퀀스를 조회하여 보관하고 다시 동일한 시퀀스를 조회하여 함께 사용하는 작업이었음. 첫 번째 시퀀스 조회 시 증가된 번호를 가져왔으나 두 번째 시퀀스 조회 시 첫 번째에 조회된 번호가 그대로 들어있었음. 첫번째 시퀀스 조회 결과 : 1 두번째 시퀀스 조회 결과 : 1 해당 기능과 관련된 일부 소스는 아래와 같음. MyBatis 영역 SELECT SEQ.NEXTVAL FROM DUAL Repository 영역 TestDAO interface 작성 생략 @Repository public class TestDAOImpl implements TestDAO{ @Override public int getT..
발단상황java를 사용하고 데이터베이스에서 조회된 데이터 목록을 JSON 형태로 응답을 해주는 방법 중 하나로는 ObjectMapper Class ( import com.fasterxml.jackson.databind.ObjectMapper; )가 있다. ObjectMapper Class 내에 여러 메소드 중 하나인 writeValueAsString 메소드는 java의 Object를 직렬화 과정을 통하여 json 형태의 String 형으로 변환해 주는 역할을 한다. 이러한 기능을 이용하여 기능을 개발을 진행하던 중 원하는 결과를 반환하지 않는 경우가 발생하였다. 데이터베이스에서 데이터 목록을 조회하여 ObjectMapper의 writeValueAsString 메소드를 이용하여 값을 반환하는 기능을 개발하..
발단 java 환경에서 작업을 진행하던 중 아래와 같은 오류 로그 발생 로컬 작업환경에서는 정상적으로 테스트되었으나 서버상에서 테스트 시 발생 Java security providerexception could not derive key java rsa decryption is failed 해당 에러가 발생하는 부분에서 사용하고 있는 메소드 확인 시 아래와 같음 import org.bouncycastle.util.encoders.Base64 잘 알려진 JCE(Java Cryptography Extension) 라이브러리 보안 공급자 중 하나인 "bouncycastleprovider"를 호출하다 발생하는 것으로 확인. 원인파악 bouncycastleprovider 사용시 기본 설정하는 부분에 대하여 로컬과..
발단 사용자 사용 이력을 분석 중 일부 데이터에 특정 값이 누락되어 저장되는 현상을 확인하였음. 해당 이력이 저장되는 로직을 분석한 결과 A 메소드를 진행 시 객체에 저장된 값을 세션에 저장하여 B화면으로 이동 후 화면내 작업 완료 시 B 메소드로 가지고 가서 이력을 남기는 로직으로 확인하였음. public String A(HttpServletRequest request){ TestVo testVo = new TestVo(); testVo.setOne("1"); testVo.setTwo("2"); testVo.setThree("3"); HttpSession session = request.getSession(); session.setAttribute("TestSession", vo); //현시점 Test..
Optional이란 java 8버전 이후 부터 java.util 패키지 내 Optional이라는 class를 제공한다. 용도는 java 비지니스 로직을 구현하며 많이 발생하는 NPE(NullPointException)을 방지하기 위함이다. Optional 사용 시 발생하는 문제점 Optional get 종류에 따른 결과확인을 위한 소스코드 public static void main(String[] args) { System.out.println("case1 - Optional.get() 수행"); Optional case1 = Optional.of("case1 data"); System.out.println("case1 " + case1.get()); System.out.println("=========..
vscode 환경에서 JAVA, SpringBoot, Gradle의 개발환경에서 최초 작업하였던 PC가 아닌 다른 PC에서 소스를 내려받은 후 작업을 진행하기 위해 프로젝트 실행을 하던 중 아래와 같은 오류메시지가 발생하였다. PS 프로젝트경로위치> .\gradlew.bat bootrun Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details > Configure project : zone: null > Task :compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for t..
sql querry가 들어있는 mybatis xml파일 내에서 부등호를 사용할 상황은 자주 등장한다. 그중에서도 "크거나 같다", "작거나 같다"에 대한 부등호를 처리해야 하는 경우를 정리하였다. jsp 내에서 jstl + EL을 경험해본 적이 있는 사용자라면 혼란이 있을 수 있기 때문이다. jstl + EL 방식에서 "보다 크거나 같다", "보다 작거나 같다"의 부등호는 ≥ ≤로 사용을 한다. 이 문법을 그대로 mybatis xml에 사용을 하면 아래와 같이 mybatis BuilderException The entity "ge" was referenced, but not declared. 라는 에러메시지를 확인할 수 있다. jstl 분석 먼저 jstl에서 ≥를 사용할 수 있는 이유를 알아보았다 부등호..
[관련 시리즈] API 운영 중 SSLException 조치하기 1편 API 운영 중 SSLException 조치하기 2편 API 운영 중 SSLException 조치하기 3편 발단 이전에 앞서 작성하였던 루트 인증서 관련 SSLHandshakeException을 조치하였음에도 불구하고 관리하는 API 기관 중 어떤 기관은 앞선 작업으로 인하여 정상적으로 호출하는 것을 확인하였고 일부 기관은 앞선 작업을 하였지만 이전과 다른 새로운 에러 로그*가 나타나는 것을 확인하였음. 하지만 서버에서 curl 및 wget 명령어로 API URL을 호출할 때는 정상적인 값을 가져오는 것을 확인. 따라서 WAS단에서 문제가 있는 것으로 판단. 원인 아래는 *새로운 에러 로그 1 2 3 4 5 6 7 8 9 10 11 1..
- Total
- Today
- Yesterday
- Git
- providerexception
- html
- gradle
- fasterxml
- web
- React
- SQL
- spring
- JSON
- mybatis
- docker
- 날짜
- JPA
- TLS
- bouncycastleprovider
- Java
- Oracle
- writeValueAsString
- WAS
- IMAGE
- 증가안됨
- SSL
- jQuery
- Windows
- 컨테이너
- vscode
- Linux
- Eclipse
- SpringBoot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |