크롤링 데이터를 엑셀화 할 일이 생겨서 오랜만에 POI를 사용했다가(이제 두번째임 ㅋㅋ;) 에러가 발생했다. 에러 메세지 java.lang.NoClassDefFoundError 원인 Class를 정의할 수 없음.. 두번 발생했는데, 처음에는 xmlbeans이 없어서. 두번째는 버전이 맞지 않아서.. 해결 POI와 xmlbeans의 버전 맞춰주기 그리고 아래처럼 라이브러리 추가하기 이렇게 들어가있어야함..
에러 메세지 에러....? 라고 보긴 뭐하지만 여튼 EC2를 통한 배포 과정에서 ./gradlew build명령어를 사용하여 gradle을 build하는 도중 멈춰버렸다. 원인 AWS 의 프리티어를 사용 시 프리티어가 사용할 수 있는 메모리의 크기는 1GB라고 한다. (free를 입력하여 내 메모리 상태를 볼 수 있음) 메모리가 작기 때문에 빌드 규모에 따라 멈춰버릴 때가 있다. 해결 메모리를 늘린다 > 과금 메모리 스왑으로 해결했는데, 방법을 몰라서 아래 게시물의 도움을 받았다. OKKY - AWS EC2 프리티어 쓰시는분들 참고하세요! 일기장에 기록해둔건데 프리티어 쓰시는 분들에겐 좋은 정보일것 같아 남깁니다.제 일기장에서 긁어온거라 폼이 많이 깨지긴 했는데 감안하고 봐주세요! AWS 프리티어 EC2..
토이 프로젝트를 하면서 기록 남겨놓으면 좋을것 같아서 포스팅 AWS 가입, AWS S3 BUCKET 생성과 IAM KEY 발급 과정은 생략하겠음. 트러블 슈팅 https://mag1c.tistory.com/354 https://mag1c.tistory.com/355 https://mag1c.tistory.com/356 개발 환경 SpringBoot3.0.6 build.gradle DI implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' aplication.properties # S3 cloud.aws.credentials.accessKey=YourKey cloud.aws.credentials.secretKey=..
에러 메세지 No operations allowed after connection closed 에러 원인 PreparedStatement pst = mysql.prepareStatement(query); 위의 코드에서 에러가 발생했는데, 에러 원인은 Connection 객체가 연결 해제됐거나. PreparedStatement 이 이상하거나 둘 중 하나라고 생각했는데, connection closed이기 때문에 Connection의 인스턴스인 mysql이 연결 해제된 후에 pst를 사용하여 쿼리를 실행하려 했기 때문인 것 같다. 만약 No operations allowed after statement closed 이라면 statement객체를 의심해봐야 할 것이다. 해결 처음에는 아래와 같이 해결하고자 했..
연관 게시물 스레드 안전 - Thread Safe 연관 게시물 https://mag1c.tistory.com/365 [Java] 자바에서의 스레드 안전(Thread Safe)과 모니터(monitor) 자바에서의 Thread-Safe 1. Lock synchronized 아래 코드는 Synchronized 키워드를 사용하여 스레드의 안전성을 보 mag1c.tistory.com 자바에서의 Thread-Safe 1. Lock synchronized 아래 코드는 Synchronized 키워드를 사용하여 스레드의 안전성을 보장했다. @ThreadSafe public class Lock { @GuardedBy("this") private int nextValue; public synchronized int getN..
연관 게시물 [Java] 자바에서의 스레드 안전(Thread Safe)과 모니터(monitor) 자바에서의 Thread-Safe 1. Lock synchronized 아래 코드는 Synchronized 키워드를 사용하여 스레드의 안전성을 보장했다. @ThreadSafe public class Lock { @GuardedBy("this") private int nextValue; public synchronized int getNext() { r mag1c.tistory.com Thread Safe 스레드 안전(thread safety)은 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻한다. 보다 엄밀하게는..
기존에 내가 사용하고 자주 봤던 static이 붙은 것들은 public static int a; public static void main(String[] args){} 이정도인데, 업무 내에서 아래와 같은 코드를 발견했다. public Conf { static { loadConfiguration(); } } 얼추 인스턴스가 생성될 때 아래의 메서드를 실행하는 것 정도만 알겠는데 정확히 어떤 것인지 모르겠다. 개념정리를 해놓고 언제든 활용할 수 있도록 해보자. 초기화 블록 class Class { static int Field = 10; // 클래스 변수의 명시적 초기화 int Field2 = 20; // 인스턴스 변수의 명시적 초기화 } 필드는 위와같은 형태로 초기화가 진행되는데, 초기화 블록을 활용하..
에러 메세지 When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead. 원인 CORS설정 시 allowedCredentials true와, allowedOrigins "*"를 같이 사용할 수 없다. 해결 에러 메세지에 친절하게 나와있다. allowedOrigins("*") 대신..