-
gradle build시 jdk version 설정개발/개발노트 2020. 6. 29. 14:37
jdk 1.8로 작업해오다 jdk11을 이용해 프로젝트를 진행해보기로 하였다. 도중 생긴 문제가 빌드시 Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8) 와 같이 gradle JVM 버전이 맞지 않는 것이다. 만약 intelliJ와같은 환경이면 설정 -> Build,Excution, Deployment -> Build Tools -> Gradle 에서 Gradle JVM을 설정하면 된다. 하지만 배포환경이 Jenkins를 통해 빌드하는 경우 다른프로젝트들은 다 1.8인데 한 프로젝트만 11이면 문제가 생긴다. jenkins 서버에 jdk11 설치된 상태에서 시도 - jenv를 통해 해당 프로젝트만 jenv java11를 잡았다...
-
aws elastic beanstalk로 운영중인 spring boot http -> https개발/AWS & 서버 2020. 4. 22. 13:48
jenkins -> elastic beanstalk로 배포되는 spring boot 서버가 있다. 이 서버를 도메인으로 호출하도록 라우트 설정을 하고나니, https로 바꾸고 싶은 욕심이 생겼다. 바꿔보자. 이미 인증서까지 있는 상태에서 검색을 해봤더니 많이들 ec2 -> 로드 밸런스에서 설정하도록 되어있다. 로드밸런서를 생성하고 Application Load Balancer를 선택하여 따랐다. 하지만. 분명 단순한 단계인데 잘 되지 않았다. 등록을 해도 Elastic beanstalk에 가서 환경 구성을 보면 로드 밸런서가 포함되지 않다고 나온다. 태그에 환경 이름을 추가해봐도 마찬가지였다. Elastic beanstalk는 EC2나 S3와 달리 환경 구성에서 로드 밸런서를 생성한다. 구성에서 단일 인..
-
aws region별 핑 속도 측정개발/AWS & 서버 2020. 4. 20. 16:53
aws EC2 서버요금은 리전별 차이가 있다. 가장싼 버지니아와 한국은 t2, t3로 따지면 4배까지 차이가 난다. 규모가 크면 그 차이는 줄지만 10~30% 차이가 있다. 따라서, 규모 속도에 따라 지역을 정하는 것도 좋은 방법이라 생각한다. 리전별 핑 측정 클라우드핑(AWS) 링크 : http://www.cloudping.info/ S3속도 측정 링크 : http://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/en/accelerate-speed-comparsion.html
-
url 포트번호 없이 사용 (prerouting)개발/AWS & 서버 2020. 4. 17. 13:22
예를 들어 IP가 15.164.0.12 인 ec2 서버에 포트번호가 8080인 was를 올렸을 때 was를 호출하기 위해선 15.164.0.12:8080 과 같이 포트번호까지 필요하다. 15.164.0.12를 abc.com dns을 등록하여 사용한다면 abc.com:8080과 같이 호출하여야 한다. 도메인만으로 호출하고 싶을땐 기본포트를 해당 8080으로 리다이렉트해야한다. 현재적용상태 확인 sudo iptables -t nat -L 리다이렉트(80 -> 8080) sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 초기화 sudo iptables -F -t nat 해당인스턴스 보안그룹 인바운드 규칙에 http ..
-
AWS 배포환경에서 OOME 발생시개발/AWS & 서버 2020. 4. 16. 11:32
aws elasticbeanstalk에 올린 spring boot 스케쥴링이 실행되지 않았다. 로그를 확인해 보니 java.lang.OutOfMemoryError: Java heap space t2.micro 환경에서 대량의 데이터를 저장하는데 @transactional을 걸어두다보니 생긴일이다. t2.micro의 메모리는 1G transaction으로 처리되어 저장되는 데이터가 많다 했는데 결국 OOME가 발생하였다. 현재는 얼마였고, 어느정도까지 늘리면 될까?? 리눅스 환경에서 JVM의 힙메모리가 궁금해졌다. JAVA default Heap size는 다음과 같은 명령어로 확인이 가능하다. [Linux] java -XX:+PrintFlagsFinal -version 2>&1 | grep -i -E '..
-
JPA 일대다 단방향을 일대다 양방향으로 작업카테고리 없음 2020. 3. 30. 02:12
일대다로 이루어진 team - member 두 entity관계에서 team이 메인이고 team을 기준으로 정보가 다루어진다면 일대다 단방향이 가장먼저 생각들고 단순하게 쓰일 수 있지만 이렇게 하면 jpa를 저장할 시 team 저장, member저장, 그리고 member에서 team FK를 업데이트하여 입력하는 아주 비효율적인 작업이 이루어진다. 따라서 권장되는게 일대다 양방향이다. 코드는 위와같이 구성했다. 여기서 @JsonIgnore 을 통해 json변환하여 바로 프론트를 던질때 발생하는 에러를 예방하기 위해 달았다. 이 외에 Jackson 2.0이상에서 @JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class) 를 사용하면..