본문 바로가기
반응형

SpringBoot37

Jacoco 동적 분석 테스트 및 Jenkins 연동 jacoco(Java Code Coverage) 분석 방법 테스트 코드를 잘 작성했다면 maven, gradle의 jacoco plugin을 사용해서도 테스트 커버리지를 체크 가능하지만, 어플리케이션 구동 시켜놓은 상태에서 기능들에 대해 테스트 수행을 했는지 체크하기 위해 was agent 형식으로도 jacoco를 적용가능하다. 1. jacoco 다운로드 https://www.eclemma.org/jacoco/ 에서 .zip 파일 다운로드/압축풀기 lib/ 디렉토리에는 jacocoagent.jar, jacococli.jar 파일들 사용할 예정이다. 2. was 실행(with agent) 어플리케이션 war를 실행 할 때 jacoco관련 -javaagent 옵션을 추가형 실행한다. java -javaage.. 2021. 12. 8.
SpringBoot Jsaypt 사용 application.yml 암호화 Jsaypt(Java Simplified Encryption) 암호화 라이브러리 적용 테스트 기본 사용 Maven Dependency 추가 com.github.ulisesbocchio jasypt-spring-boot-starter 2.0.0 라이브러리 테스트 @RunWith(SpringRunner.class) @SpringBootTest public class JasyptTest { Logger log = (Logger) LoggerFactory.getLogger(JasyptTest.class); @Test public void simpleEncTest() { PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); SimpleStrin.. 2021. 12. 3.
SpringBoot jar를 타 프로젝트에 Dependency 라이브러리로 추가 SpringBoot로 개발된 프로젝트를 다른 프로젝트에 jar Dependency로 종속성을 걸어서 사용할 경우 실제 빌드하고 실행을 하면 jar내에 있는 클래스들에 대해 ClassNotFoundException이 발생한다. 이유는 SpringBoot는 jar를 생성할 때 기본적으로 독립적으로 실행이 가능한 jar를 생성하기 때문에 jar 내부를 보면 BOOT-INF 디렉토리가 생성되고 필요한 클래스 및 의존 라이브러리들이 내부에 존재 함. jar가 위와 같은 구조에서는 독립적인 실행은 가능하지만, 다른 프로젝트에 의존성 설정하고 라이브러리로 사용은 불가능하다 해결 방법은 pom.xml에서 spring-boot-maven-plugin 의 repackage 설정을 추가한다. org.springframewo.. 2021. 12. 3.
SpringBoot Scouter APM 구성 Scouter 오픈소스 APM (Application Performance Monitoring) Tool로써 어플리케이션 및 Host OS 자원에 대한 실시간 모니터링 기능을 제공 APM : Application performance montoring / application performance management 모니터링 대상 (전용 agent) Java Agent : Web application (on Tomcat, JBoss, Resin ...), Standalone java application Host Agent : Linux, Windows, Unix 모니터링 대상 (Telegraf support) Redis, nginX, apache httpd, haproxy, Kafka, MySQL, M.. 2021. 11. 30.
SpringBoot @Async 사용 클라이언트 요청에 비동기 처리를 지원하는 SpringBoot @Async 사용법 기본적으로 Config에 @EnableAsync 어노테이션으로 Async사용을 활성화 시키고 비동기 처리가 필요한 서비스 메소드에 @Async 어노테이션을 작성하면 사용 가능하다. @EnableAsync 애노테이션을 사용하면 기본 SimpleAsyncTaskExecutor를 사용하여 매번 쓰레드를 생성하는 방식이다. 쓰레드풀을 적용해서 처리를 할 경우 ThreadPoolTaskExecutor를 빈으로 등록해준다. @Bean("myExecutor") 빈네임 설정을 통해 @Async("myExecutor") 어노테이션 사용시 풀을 지정할 수도 있다. SpringBoot2.0 이상이면 application.yaml 파일로도 설정이.. 2021. 10. 27.
반응형