파란하늘의 지식창고
반응형
article thumbnail
Reactor 공부하기 위한 프로젝트 설정
Study/Java 2019. 12. 20. 21:26

Reactor 사이트에서는 Reactor를 아래와 같이 소개한다. Reactor is a fourth-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification 1,2,3세대가 뭔지 궁금하긴 한데 관련 내용은 찾지 못했다. (RxJava 같은걸 얘기하는 거려나..) spring webflux를 쓰기 위해서 우선 reactor를 공부해야 하는데 reactor를 먼저 공부하기 위해 순수하게 reactor에 대해서만 공부하기 위한 프로젝트 설정을 해보았다. reactor homeapge : https://projectreactor.io/ 홈페이지에서 문..

Spring Data R2DBC 써보기
Study/Java 2019. 12. 11. 09:19

R2DBC 0.8.0.RELEASE 가 2019년 12월 01일에 나왔다. (R2DBC 0.8.0 goes GA) RELEASE 버전은 처음 나온 것이고 기존엔 1.0.0.M5, 1.0.0.M6처럼 마일스톤 버전을 올리다가 M8부터 0.8.0.M8과 같이 major 버전을 하향했다. 이유는 SPI (Service Provider Interface)를 확정하지 못했기 때문이라고 한다. (R2DBC 0.8 Milestone 8 released 참고) (즉 추후 변경될 소지가 있음) 이에 대응하는 Spring Data R2DBC도 2019년 12월 6일에 RELEASE 버전이 나왔다. (Spring Data R2DBC goes GA) reference documentSpring Data R2DBC - Refe..

article thumbnail
Spring Boot 2.2 Release Notes
Study/Java 2019. 10. 18. 06:03

Spring Boot 2.2 Release Notes Upgrading from Spring Boot 2.1 Deprecations from Spring Boot 2.1 2.1에 deprecated 선언되었던 class, method, properties가 삭제되었다. Spring Framework 5.2 Spring Framework가 5.2로 업그레이드 되었다. JMX now disabled by default JMX 기본 설정이 disabled 로 변경되었다. 해당 기능을 활성화 하려면 spring.jmx.enabled=true 설정을 사용한다. IDE 특징을 사용하여 applicatio을 관리하는 경우 해당 flag도 활성화 할 수 있다. Jakarta EE dependencies javax. 를..

JDK 13 New Features
Study/Java 2019. 9. 25. 16:58

JDK의 버전별 변경 사항은 이곳을 참고하세요. Spec Java SE 13 Platform JSR 388에 정의된 바와 같이 JSR 388 구현이 목표 실제 Spec은 Final Release Specification 문서를 참고해야 함 Final Release Specification Feature Summary 전체 JEP Feature 목록은 OpenJDK의 JDK 13 문서로 확인할 수 있다. Component Feature specification / language Switch Expressions (Preview) specification / language Text Block (Preview) Switch Expressions (Preview) Switch Expression은 JDK 1..

thymeleaf-layout-direct 성능 문제 (groovy 성능 문제)
Study/Java 2019. 9. 24. 10:51

3년 전 쯤에 했던 작업이라 상세한 내용을 적지는 않고 요약해서 정리만 한 글임. Spring 을 사용하면 보통 web template engine을 thymeleaf를 많이 쓴다. 그런데 thymeleaf가 버전이 올라가면서 자체 성능이 올라갔다고 하지만 실제로 성능 테스트를 해보면 정말 느리고 많이 몰리면 서버가 다운된다. 왜 그런가 힙 덤프를 떠보니 문제가 되던 포인트는 groovy 였다. groovy의 어느 위치인지 기억이 나지 않지만 자체 캐시 처리를 하는 코드에 synchronized 처리가 되어 있었고 해당 부분에 병목이 생기면서 데드락이 발생해 성능이 저하되었다. (아래 jira의 경우랑 비슷한거 같긴한데 저건 1.5.1 버전의 closed 된 jira라 관련 내용인지 확실하지 않다...)..

STS 4.4.0 (eclipse 2019-09) 에서 Junit 5 실행 시 PreconditionViolationException NoClassDefFoundError 에러 발생하는 경우
Study/Java 2019. 9. 20. 15:55

2019-09-19에 STS 4.4.0 이 릴리즈 되어 사용해보았다. Junit 5 실행 시 다음과 같은 에러가 발생했다. java.lang.NoClassDefFoundError: org/junit/platform/commons/PreconditionViolationException at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createFilteredTest(JUnit5TestLoader.java:70) at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createTest(JUnit5TestLoader.java:64) at org.eclipse.jdt.internal.junit5.runn..

Spring RestTemplate으로 요청 시 302 redirect 된 페이지의 response 결과받기
Study/Java 2019. 8. 9. 15:28

HttpStatus가 302 인 경우 브라우저에서는 해당 페이지로 리다이렉트 되어 화면이 처리된다. restTemplate으로 요청한 응답 결과의 HttpStatus가 302 인 경우는 해당 페이지로 리다이렉트 되지 않고 응답 결과만 반환받는다. 하지만 redirect된 결과로 응답을 받을 수 있는 기능이 있다. restTemplate에서 requestFactory를 apacheml httpclient를 사용하는 경우 지원되는 기능이다. 다음처럼 HttpClientBuilder에 redirectStrategy 설정을 하면 요청된 결과가 302인 경우 해당 페이지로 리다이렉트 된 결과를 반환해준다. RestTemplate restTemplate = new RestTemplate(); HttpComponen..

Spring Data JDBC로 Spring Data Jpa를 대체할 수 있을까?
Study/Java 2019. 7. 28. 11:37

Spring Boot 2.1.6.RELEASE , Spring Data JDBC 1.0.9.RELEASE 기준 작성된 글 Spring Data JDBC는 Data Jpa가 가진 단점(? 또는 복잡성?)을 해결하기 위해 나온 라이브러리이다. https://www.slideshare.net/SpringCentral/the-new-kid-on-the-block-spring-data-jdbc Data Jpa가 domain mapping과 repository 연계만큼은 편하기 때문에 쓰고 있지만 사실 대다수의 기능을 잘 쓰지 않는다. 딱 거기까지만 쓰기 좋고 관계형 DB를 Java Object로 맵핑하기 위한 다양한 방법들은 복잡하고 영속성이라던가 그밖에 제공하는 다양한 개념들도 그렇게 까지 깊이 있게 쓰지 않았..

JDK 12 New Features
Study/Java 2019. 7. 18. 14:48

JDK의 버전별 변경 사항은 이곳을 참고하세요. Spec Java SE 12 Platform JSR (386)에 정의된 바와 같이 JSR 386 구현이 목표 실제 Spec은 Final Release Specification 문서를 참고해야 함 Final Release Specification Feature summary 전체 JEP Feature 목록은 OpenJDK의 JDK 12 문서로 확인할 수 있다. Component Feature core-libs / java.lang.invoke JVM Constants API specification / language Switch Expressions (Preview) Switch Expressions (Preview) 해당 기능은 preview 기능이기 때..

Spring Boot servlet filter 사용하기
Study/Java 2019. 7. 3. 10:20

ServletContext와 ApplicationContext의 연동 filter를 설명하기 전 기본적인 설명 servlet은 ServletContext를 사용한다. java.servlet.Filter는 javax.servlet-api나 tomcat-embed-core를 사용하면 제공되는 servlet filter interface이다. spring은 ApplicationContext를 사용한다. servlet에서 spring을 사용하기 위해선 servlet의 ServletContext에 spring의 ApplicationContext를 연동해야 한다. Spring은 ApplicationContext를 servlet에서 사용하기 위한 ServletWebServerApplicationContext를 제공하..

반응형