1. 원인
자바 프로그램 실행 시 화면단 ERP 프로젝트 내 MW(미들웨어) IP를 운영 DB로 연결한 상태에서
정작 MW 프로젝트 내 DB는 로컬로 연결해서 발생한 일이다.
연결 미숙은 신입만이 질문할 수 있는 영역이긴 하다.
이번 일을 계기로 해당 문제는 두번다시 물어보지 말아야지 !!
하고 기록하는 포스팅이다.
2. 에러
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at engine.TcpClient.sendMessage(TcpClient.java:329)
at common.SysData.connectionTruMW(SysData.java:438)
at engine.SysMain.isLogin(SysMain.java:438)
at engine.SysMain.runActionThread(SysMain.java:346)
at engine.SysMain$actionThread.run(SysMain.java:380)
3. 해결
3-0. 내 상황 파악하기
현재 기능 개선 업무를 담당하고 있고, 업무 시작 전이다.
따라서 테스트를 많이 해야 할 것 같으니, 로컬 DB로 연결해야 한다.
실행 파일 프로그램 프로젝트 업무를 담당하고 있고,
1개의 실행 파일 프로그램은 종 2개의 프로젝트 파일로 분리되어 있다.
- 자바 미들웨어 프로젝트 : MW project
- 자바 화면단 프로젝트 (Java Swing 사용) : ERP project
운영 / 테스트를 위해 프로그램을 원활하게 연결하려면 다음과 같은 파일의 수정 및 연결 확인이 필요하다.
- MW project - conf - engine.properties
- ERP project - conf - engine.properties
- DBeaver (Oracle) - 3개의 DB 연결 확인 (로컬, 테스트, 운영 DB)
3-1. DB 연결 상태 확인
회사에서 내가 맡은 프로젝트의 DB를 총 3개 전달 받았다.
- 회사 로컬 DB
- 협력사 테스트용 DB (AWS)
- 협력사 운영 DB (AWS)
DBeaver에서 해당 DB들이 전부 연결 상태가 양호한지 확인해야 한다.
오라클 아이콘 옆 초록불이 들어온 것을 보니 연결 상태가 양호한 것을 확인할 수 있다.
3-2. MW 프로젝트 파일 내 engine.properties 중 연결 DB 확인
자바 미들웨어 프로젝트의 properties에서 기능 추가 및 테스트 목적에 따라 DB를 로컬로 연결했다.
따라서 수정할 부분은 없어 보인다.
<engine.properties 파일 중 DB 연결 부분>
DBUrl=jdbc:oracle:thin:@로컬 DB
#DBUrl=jdbc:oracle:thin:@개발 테스트 DB
#DBUrl=jdbc:oracle:thin:@운영DB
3-3. ERP 프로젝트 파일 내 engine.properties 중 연결 MW 확인
화면단 ERP 프로젝트의 properties에는 MW를 어디로 연결했는지 찾아보자.
<engine.properties 파일 중 MW 연결 부분> - (수정 전)
#MW_IP = localhost
MW_IP = 운영 DB url
해당 부분이 문제였다.
앞서 MW에서는 DB를 로컬로 연결했지만,
ERP 프로젝트 파일 내에서는 MW를 운영 DB url로 연결해서 에러가 났던 것이다.
이때, MW를 로컬로 연결해줘야 에러가 해결될 것이다.
아래와 같이 바꿔주자.
<engine.properties 파일 중 MW 연결 부분> - (수정 후)
MW_IP = localhost
#MW_IP = 운영 DB
미들웨어를 로컬로 연결해주었더니 테스트 목적의 로컬 DB로의 연결이 성공적으로 되었다.
'[Language] > Java | Spring | JSP' 카테고리의 다른 글
[IntelliJ/Java] IntelliJ JVM 버전 변경 (0) | 2024.07.09 |
---|---|
[Eclipse] JRE 1.8 라이브러리 변경 & Java 컴파일러 버전 변경 (0) | 2024.07.09 |
[Java Swing] 0. Swing으로 버튼 만들기 (JButton Component) (0) | 2024.06.18 |
[Java Swing] Eclipse에서 Java Swing 설치하기 (1) | 2024.06.18 |
Local variable 'savedProductDto' is redundant : 해당 변수 불필요 (0) | 2024.05.27 |