프로그래밍/Java 57

java 스케쥴러 중복 실행될때

아래와 같이 server.xml 을 설정 하게 되면 배포한 appTest 어플리케이션이 Host의 appbase 설정에 따라서 /home/ubuntu/html/webapps 로 배포 하고 또 context 설정에 따라서 /로 배포 하게 되어 이중으로 로딩하는 문제가 발생 하게 됩니다. 이런 경우 소스를 appbase 아래가 아닌 다른곳에 설치 하거나 host 속성에 기동시에 appbase 아래의 어플리케이션을 배포 하지 않도록 아래 처럼 deployOnStartup 을 false로 설정을 해주면 됩니다. autoDeploy="false" deployOnStartup="false"

아주 쉬운 Java 에서 Python 호출 방법

build.gradle 추가 implementation 'org.apache.commons:commons-exec:1.3' java 소스코드 @GetMapping(value = "exe_python") public String exePython() { File file = new File(""); File rootPath = file.getAbsoluteFile(); System.out.println("현재 프로젝트의 경로 : "+rootPath ); System.out.println("Python Call"); String[] command = new String[4]; command[0] = "python3"; command[1] = rootPath+"/zz.py"; //command[1] = roo..

mac java17 인텔리제이 자동 리로드 devtools 안될때

mac 환경 java17 intellij 2020.01 shell zsh 인텔리제이 하단에 오류 표시 발견 Error:Auto build failure: Cannot determine path to 'tools.jar' library for 17 (/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home) 원인1. $JAVA_HOME 경로가 없어서 MacBook-Pro  ~  /usr/libexec/java_home -v 1.8 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home MacBook-Pro  ~  /usr/libexec/java_home -v 17 /Library/Ja..

spring boot cron 같은 스케쥴러 사용하기

스케쥴링은 일련의 반복되는 행위를 자동으로 간편하게 작성할수 있다. 예를들면 리눅스 시스템의 cron 처럼. 스케쥴 기능 켜기 자바 설정에서 @EnableScheduling 추가하면 스케쥴 기능을 사용할수 있다. main class 에 추가하자. @SpringBootApplication @EnableScheduling public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 스케쥴 구현 @Scheduled 어노테이션을 사용하면 사용가능하며 실행주기는 cron, fixedDelay, fixedRate 라는 세개의 속성으로 지정할 수 있다..

spring boot application.properties 운영/개발 설정하기

목적 자동 배포시 운영서버 / 개발서버 각각 DB 설정 할수 있도록 하기 위해서... 설정은 아래와 같이 2가지 방법으로 설정한다. spring boot - application.properties 설정 tomcat - catalina.properties 설정 . spring boot 설정 방법 sprint boot 에서 설정 파일 이름은 아래와 같이 한다. 운영 : application.properties 개발 : application-dev.properties .tomcat 설정 방법 톰캣 설정은 아래와 같이 3가지 방법이 존재한다. 1. web.xml - active-profile 설정 spring.profiles.active prod 2. catalina.sh 설정 JAVA_OPTS="$JAVA_..

java spring boot db 연결시 java.lang.NullPointerException: null 발생할때

분영 아래와 같이 정상적으로 잘 연결한것 같지만 null 발생한다. java Controller -> Service -> ServiceImpl -> DAO -> DAO.xml ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerE..

Log4j2 취약점 해결 : 보안 업데이트

□ 개요 o Apache 소프트웨어 재단은 자사의 Log4j 2에서 발생하는 취약점을 해결한 보안 업데이트 권고[1] o 공격자는 해당 취약점을 이용하여 악성코드 감염 등의 피해를 발생시킬수 있으므로, 최신 버전으로 업데이트 권고 □ 주요 내용 o Apache Log4j 2*에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)[2] * 프로그램 작성 중 로그를 남기기 위해 사용되는 자바 기반의 오픈소스 유틸리티 □ 영향을 받는 버전 o Apache Log4j 2 - 2.0-beta9 ~ 2.14.1 모든버전 o Apache Log4j 2를 사용하는 제품 ※ 참고 사이트 [4]를 확인하여 해당 제품을 이용 중일 경우, 해당 제조사의 권고에 따라 패치 또는 대응 방안 적용 □ 해결방안[1] o 제..