반응형 IT/Java394 [error] Method has too many Body parameters (multiple RequestBody) openfeign 사용시 이와같은 에러가 발생하였다. Method has too many Body parameters 일단 하나의 Request 에서 여러개의 RequestBody를 받을수 없다. 하나의 RequestBody + 여러개의 RequestParam으로 하거나 하나의 RequestBody 내부에 여러개를 받게 하여 RequestBody는 하나로만 해줘야한다. openfeign 뿐 아니라 일반적인 restapi에서도 마찬가지 이니 주의하도록 하자. 2023. 11. 7. Openfeign 에서 fallback 동작 안할때 이전 포스팅에서 Openfeign 관련해서 간단 설명과 예제를 작성한 적이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. 정상적으로 fallback이 이루어지지 않아서 추가 포스팅을 작성한다. 일단 fallback 개념은 아래 참고 포스팅 참고 바란다. 그리고 장애 처리에 대한 circuitbreaker 에 대해서도 한번 확인하는것이 좋다. 결국 fallback 역시 장애 처리에 대한 내용이기 때문이다. circuitbreaker 는 아래 참고 포스팅을 참고 바란다. 기존 포스팅대로 작성을 했는데 openfeign 이 정상 동작을 안한다면 application.yml 파일에 값을 추가해야한다. feign.circuitbreak.enabled = true 가 이루어져야하고 만약 사용하는 openfe.. 2023. 11. 6. @Transactional 사용시 주의 사항3 (Proxy 관련 // private 금지, 트랜잭션 분리) 이전 포스팅에서 Transactional 에 대한 설명도 다룬적이 있고 주의사항에 대해서 다룬 글이 있다. 자세한 내용은 참고 포스팅 참고 바란다. 이번 포스팅에서 다룰 내용은 Transactional annotation을 선언할때 주의할 점이다. 1. private 로 선언된 메서드에 transactional 금지 Transactional 은 CGLIB 이 Proxy를 생성하여 호출을 하게 된다. CGLIB이 Transactional 이 걸려있는 메서드를 잡기 위해서는 외부에서 접근이 가능해야한다. 그리하여 private 로 선언 하면 해당 메서드에 접근을 못하여 transactional이 적용이 안된다. 2. 동일 Bean안에서(class) 여러 트랜잭션 금지 Transactional 은 AOP 기반.. 2023. 11. 4. 접근 제어자(public, protected, private, default) 자바에서는 접근제어자 라는 개념이 있다. 간단하게 설명하면 외부에서 해당 클래스, 해당 변수 등을 접근할수 있는지를 제어하는 것이다. 예를 들어 변수를 선언할때 String name = "name"; 이런식으로도 사용하지만 앞에 접근제어자를 추가하여 private String name = "name"; 이렇게 사용이 가능하다. 앞에 붙일수 있는 접근제어자는 총 3개이고 안붙이는 경우까지 포함하면 총 4가지의 경우가 생긴다. 각 경우에 따라 접근이 가능한 범위는 아래와 같다. public는 '공개'를 나타내며, 모든 클래스에서 접근이 가능 (패키지와 상관없음) private는 '비공개'를 나타내며, 같은 클래스안에 있는 멤버들만 접근이 가능 protected는 같은 패키지안의 모든 클래스와, 다른 패키지의.. 2023. 10. 30. [eclipse] 디버깅 중 (Watch) 기능 이전 포스팅에서 디버깅에 대해서 다룬적이 있다. 자세한 내용은 참고 포스팅 참고 바란다. 디버그를 하다가 중간에 포인트 지점에서 가져온 객체의 값을 알고 싶을 경우 사용이 가능하다. 디버그 중에 알고싶은 객체의 부분에서 마우스 우클릭 > watch 를 클릭하면 된다. 클릭하면 아래와 같은 창이 뜨고 해당 객체의 값이 보인다. 그리고 아래 dto.getId() 해둔곳은 임의로 작성한것인데 getter 처럼 값도 바로 검색해서 뽑아볼수 있다. 참고 포스팅 https://thenicesj.tistory.com/706 [eclipse] 디버깅 하기 자바에서 main 메서드나 호출에 의한 자바 소스가 실행이 될때 일반 모드로 실행을 하면 시작부터 끝까지 한번의 사이클에 진행이 된다. 물론 에러가 발생을 하면 그 .. 2023. 10. 27. Java EE / Java SE 에 대해서( feat. Java ME) 이전에 포스팅에서 JavaEE 와 새롭게 바뀐 JakartaEE 에 대해서 다룬적이 있다. 자세한 내용은 아래 참고포스팅 참고 바란다. 이번 포스팅은 EE 와 SE 에 대해서 다뤄보려고 한다. 개념은 아래와 같다. 표준 에디션의 자바 플랫폼 (Java SE) 엔터프라이즈 에디션의 자바 플랫폼 (Java EE) 그 밖에 '마이크로 에디션의 자바 플랫폼 (Java ME)' 라는것도 존재하니 잠깐 다뤄보려고 한다. 표준 에디션의 자바 플랫폼 (Java SE) 가장 대중적인 자바 플랫폼이다. 흔히 자바 언어라고하는 대부분의 패키지가 포함된 에디션으로 java.lang.*, java.util.*, java.awt.*, javax.rmi.*, javax.net.* 등이 탑재 되어있다. 그리고 Java SE의 API.. 2023. 10. 26. [JPA] 쿼리메서드 existsById 관련 ( Required identifier property not found for class com.com.jpa.TestTable ) 이전 포스팅에서 쿼리 메서드 관련 포스팅을 작성한 적이 있다. 자세한 내용은 참고 포스팅 참고 바란다. 추가로 existsBy 관련 메서드를 추가하려고 테스트 해보다가 existsBy는 다른 쿼리메서드 들하고 조금 달라서 별도로 다루게 되었다. 먼저 findById를 기준으로 설명하면 id를 기준으로 find 해라 라는 의미이다. 그럼 existsById라면 어떤 의미일까? 해당 Id가 존재하는지 확인해라 이다. 결과는 boolean값으로 true / false가 나오게 된다. 하지만 findBy와는 다르게 사용하기 위해 전제조건이 있다. 바로 @Id 로 idendifier를 지정해야한다. 없는 테이블 엔티티로 테스트를 할경우 이런 에러가 나온다. Required identifier property no.. 2023. 10. 24. [JUNIT Error] JUnit Platform version must be >= 1.8 to use a global embedded kafka server 잘 사용중이던 Junit 에서 어느날 에러가 발생하였다. 에러는 제목과 같다. JUnit Platform version must be >= 1.8 to use a global embedded kafka server 사용하려면 junit platform이 1.8이상이어야 한다는 뜻이다. 프로젝트 우클릭에서 library 추가 할때 junit을 자동 plugin 으로 해서 했는데 default junit 버전이 1.7 이하인듯 싶다. ide에서 제공해주는 junit 말고 maven repository 를 통해서 직접 dependency 받아야한다. 그럼 java build path 에서 add library 로 추가한 junit 부분은 delete 를 해주고 org.junit.jupiter junit-jup.. 2023. 10. 21. no main manifest attribute, in Project-version.jar springboot 를 build하여 jar 파일을 생성 하였고, springboot 내장 tomcat을 사용하여 was를 띄우면서 서버를 기동하기 위해 java -jar Project-version.jar 명령어를 실행 하였다. 만약 프로젝트 내에 여러개의 main 메서드가 존재한다면. IDE에서는 run 프로젝트를 하면 main 메서드를 선택해서 돌릴수 있지만 리눅스에서는 어떤것이 main 메서드인지 알수가 없다. 그럴경우에 maven 기준으로 pom.xml에 plugin을 통해 main 메서드를 설정해주면 된다. org.springframework.boot spring-boot-maven-plugin com.test.TestProjectApplication JAR 2023. 10. 17. 이전 1 ··· 13 14 15 16 17 18 19 ··· 44 다음 반응형