inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

정규표현식 실습

해결됨

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

안녕하세요 강사님. 정규표현식 실습 강의에서 궁금한 점이 있습니다. 한글만 가능하도록 정규표현식을 작성하는 것을 " ^[가-힣]+$" 라고 말씀해주셨습니다. 궁금한 점은 "[가-힣]+" 라고 작성하면 한글 외의 글자가 들어와도 true라고 반환하는 케이스가 어느 경우인지 입니다. "[가-힣]+" 라고 작성해도 띄어쓰기와 ""일때도 모두 false를 반환합니다. 즉, " ^[가-힣]+$" 대신에 "[가-힣]+" 라고 할 경우 어떠한 케이스들을 걸러내지 못하는지 궁금합니다. 감사합니다.

  • spring-boot
  • junit
yoongdoo0819 댓글 1 좋아요 0 조회수 456

연관관계 매핑 관련 질문드립니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

여기서 보시면 order_item 테이블이 orders 테이블과의 관계에서 fk를 가지는 연관관계의 주인이고 엔티티상에서도 역방향으로 조회만 하기위해 List를 갖는것도 Order인데 연관관계편의 메소드 addOrderItem()이 왜 Order엔티티에 들어가는지 이해가 되질않습니다. 연관관계 주인 엔티티에 데이터를 넣어줄때 역방향으로도 영속성컨텍스트에 관리될 수 있도록 주인엔티티에 만들어주는게 연관관계 편의 메소드라고 알고 있습니다. 이부분에서는 연관관계의 주인이 1:N양방향으로 Order가 된건가요?? 답변 부탁드리겠습니다. 항상 좋은 강의 잘듣고 있습니다. 감사합니다 ❤️ package jpabook.jpashop.domain; import lombok.Setter; import lombok.Getter; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Entity @Table(name="orders") // 테이블 이름 매핑 @Getter @Setter public class Order { @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) // 양방향 매핑 - 다대일 (FK 가지고 있으므로 얘가 연관관계주인) @JoinColumn(name="member_id") // FK 매핑 private Member member; @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) // orderItems 에 데이터를 저장하면 persist를 일일히 다할필요 없음, delete할때도 다같이 지워버림 private List<OrderItem> orderItems = new ArrayList<>(); /* persist(orderItemA) persist(orderItemB) persist(orderItemC) persist(order) -----케스케이드 적용-----=> persist(order) */ @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name="delivery_id") // 일대일이지만 fk가 있는곳에 연관관계주인을 잡는다. private Delivery delivery; private LocalDateTime orderDate; // 주문시간 @Enumerated(EnumType.STRING) private OrderStatus status; // 주문상태 [Order, Cancle] // 연관관계 편의 메소드 public void setMember(Member member){ this.member = member; member.getOrders().add(this); } public void addOrderItem(OrderItem orderItem){ orderItems.add(orderItem); orderItem.setOrder(this); } public void setDelivery(Delivery delivery){ this.delivery = delivery; delivery.setOrder(this); } }

  • spring-boot
  • jpa
Universe New 댓글 1 좋아요 0 조회수 378

랜덤 포트와 OAuth2 Redirect URI 설정 문제

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

랜덤 포트를 지정하는게 좋다고 설명해주셨는데요 Kakao login OAuth2 를 사용해서 로그인하는 경우 Redirect URI를 지정해야합니다. Gateway 주소( http://localhsot:8080/user-service/api/...)를 등록해도 결국 localhost:54241 이렇게 넘어 가기 때문에 에러가 발생하는데 이 경우에도 랜덤 포트 사용하는게 맞나요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
Cad 댓글 1 좋아요 0 조회수 508

여러 DataSource 빈 등록 우선순위를 가늠할 수 없었습니다

해결됨

토비의 스프링 부트 - 이해와 원리

안녕하세요 토비님. 우선, 감동으로 청강을 이어갈 기회를 얻게되어 참 감사드립니다. 아래는 섹션8 - DataSource 자동 구성 클래스 파트의 @Bean 메서드 등록과정에 생긴 문제입니다. 의문점은 메서드 선언 순서에 영향을 받는다는것을 알게되서 다음처럼 2번의 테스트를 진행했습니다. @Bean 메서드 선언순서 에 따른 등록 테스트 simple , hikari hikari, simple 1 결과: simple 이 등록됨 /* DataSourceConfig.java */ @Bean @ConditionalOnMissingBean public DataSource simpleDriverDataSource() { ... } @Bean @ConditionalOnMissingBean @ConditionalMyOnClass("com.zaxxer.hikari.HikariDataSource") public DataSource hikariDataSource() { ... } hikari 에 `@ConditionalMyOnClass` 가 있기때문에 등록될 것으로 예상했지만, simple 이 등록되었습니다. 2 결과: hikari 가 등록됨 @Bean @... public DataSource hikariDataSource() { ... } @Bean @... public DataSource simpleDriverDataSource() { ... } 기묘하게도 @Bean 메서드 선언순서를 바꾸니 Hikari 빈이 등록되었습니다. 이상하다 싶어, @Primary 와 @Order(n) 을 주고 다시 테스트 해봤지만, 영향을 주지 않았습니다. 질문: 위와 같이 @Bean 메서드 순서에 영향을 받는 이유가 궁금합니다. 이 결과로 @ConditionalOnClass 의 인식되는 FQCN 의 조건을 바꿔보기도 하고, 위치도 바꿔봤는데, 이렇다할 동작방식을 파악하기 힘들었습니다. 그리고 @Primay 나 @Order 를 붙여가며 추가적인 등록순서에 대해 테스트를 진행했으나, 이것들 역시 영향을 주지 않았습니다. 여러 곳에서 알아본 바, @Bean 메서드는 등록순서에 영향을 주지 않는것으로 알고있었는데, 이런 경우에는 어떤 매커니즘이 동작하는지가 궁금합니다. 이 결과를 보고 생각에 혼란이 와서 질문을 드리게 되었어요. 혹시 제가 놓친것이 있다면 조언을 부탁드려도 되겠습니까? 읽어주셔서 감사합니다☺️

  • spring
  • spring-boot
  • hikari
  • spring-jdbc
  • datasource
  • 빈등록
  • 빈우선순위
  • conditionalonclass
Truestar 댓글 2 좋아요 1 조회수 827

17:13 실행하다가 오류 납니다. 어디가 틀렸는지 잘 모르겠어서 글 올립니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 어디가 틀렸다는 것인가요? ㅠㅠ

  • java
  • spring
  • mvc
  • spring-boot
qkrtngus116 댓글 3 좋아요 0 조회수 697

POJO로 개발 후 스프링으로 전환, 이후 JPA 전환하는 이유

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

POJO로 개발 후 스프링으로 전환, 이후 JPA 전환하는 이유가 있나요?? 처음부터 JPA로 만들면 안되는지 궁금합니다

  • tdd
  • spring-boot
  • pojo
  • api
댓글 1 좋아요 4 조회수 1318

DataSource 자동 구성 클래스 10:07 테스트에서 에러발생

미해결

토비의 스프링 부트 - 이해와 원리

안녕하세요 강사님 강의 듣던 도중에 아래와 같은 에러가 발생해서요 서버를 돌렸을때는 에러없이 정상적으로 돌아갑니다. 구글링해서 이것저것 해보았는데 원인을 못찾아서 이렇게 질문 올립니다!

  • spring
  • spring-boot
  • spring-jdbc
chicmania 댓글 2 좋아요 0 조회수 583

MSA 방식의 구조

미해결

스프링 시큐리티 OAuth2

현재 예제로 구성된 방식은 MSA방식이라고 생각해도 될까요? 자원서버 ( 앨범 , 친구 ) , 클라이언트서버 , 인가서버 형식으로 각각 서버를 나누어서 역할이 구분되어 있는방식이라 제가 이해한것이 맞는지 궁금합니다. 항상 좋은강의 해주셔서 감사합니다

  • java
  • spring
  • spring-boot
  • oauth
댓글 1 좋아요 0 조회수 564

p6spy, meta-inf 위치

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

현재 스프링 부트 3.0.6버전을 사용하고 있어서 p6spy를 사용하기 위해 pdf에 적힌 대로 파일을 추가하려고 했지만 META-INF 폴더를 찾을 수 없어서 질문 드립니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
냠냐만 댓글 1 좋아요 0 조회수 798

@Param의 존재 이유>?

미해결

실전! 스프링 데이터 JPA

@EntityGraph(attributePaths = "team") List<Member> findEntityGraphByUsername(@Param("username")String username); 이번 강의를 복습하다 보니까 강사님께서 @Param을 사용하셨더라구요.(강의 20:59) findByAge(), findOptionalByUsername()과 같은 메소드는 @Param 애노테이션 없이도 잘 동작 했는데 따로 특별한 이유가 있는 것일까요?

  • java
  • spring
  • spring-boot
  • jpa
댓글 1 좋아요 1 조회수 536

완성된 코드 자료를 그대로 실행했는데 오류가 발생합니다..

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

완성된 코드 그대로 서버를 실행했는데 이렇게 오류가 발생합니다.. 이유를 찾지 못해 질문드립니다

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
NH_Club 댓글 1 좋아요 1 조회수 375

안녕하세요 강사님 JettyWebServerFactory Bean생성 하는데서 오류가납니다

해결됨

토비의 스프링 부트 - 이해와 원리

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jettyWebServerFactory' defined in class path resource [tobyspring/config/autoconfig/JettyWebServerConfig.class]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@2437c6dc] 이런에러가나구요 package tobyspring.config.autoconfig; import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory; import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; import org.springframework.core.type.AnnotatedTypeMetadata; import tobyspring.config.MyAutoConfiguration; @MyAutoConfiguration @Conditional(JettyWebServerConfig.JettyCondition.class) public class JettyWebServerConfig { @Bean("jettyWebServerFactory") public ServletWebServerFactory servletWebServerFactory(){ return new JettyServletWebServerFactory(); } static class JettyCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { return true; } } } 이건 코드입니다 왜 오류가날까요 틀린게없는거같습니다

  • spring
  • spring-boot
  • spring-jdbc
김성민 댓글 1 좋아요 0 조회수 705

[수업질문] config-server 실행은 되는데, 동작을 안 함

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

windows 10, eclipse에서 수업을 따라하고 있습니다. 서버 동작도 안 되었는데 .m2파일 중 configu와 관련된 내용 지우고 이클립스 다시 시작하니 config서버가 동작은 합니다. 그런데 git 레파지토리에 있는 ecommerce.yml파일을 읽지 못 하는지, 아니면 자신이 일반 서버로 착각하는지 404 에러가 납니다. 이미지를 첨부했습니다. 어떻게 해야 이 고통에서 벗어날 수 있을까요? 동영상 강의 보면, 쉽게 배울 수 있을 거라 생각했는데 동영상 강의 촬영일과 2년 정도 차이가 나니 이런 저런 걸로 계속 에러가 나네요.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
댓글 2 좋아요 0 조회수 1301

[에러] Database not found에 관해서

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 메인어플리케이션을 실행시 에러가 발생하여 질문남깁니다. 해당에러는 다음과 같습니다. 하지만 해당경로에는 아래와 같이 파일이 존재하구요 다른 글들을 참고해봤지만 에러가 해결되지 않아서 글을 남깁니다. 감사합니다. github https://github.com/heechanCho/jpashop

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
Heechan Cho 댓글 1 좋아요 0 조회수 353

@GeneratedValue 질문하고싶어요

해결됨

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @GeneratedValue에서 지금은 autoincrement로 숫자로 단순히 pk값이 1/2/3/4이런식으로 사용되고있는데 MEMBER00001/MEMBER00002/MEMBER00003같이 PK값에 특정한 문자열이 앞에 들어가는경우는 어떻게하나요?

  • java
  • spring
  • spring-boot
  • jpa
박성준 댓글 1 좋아요 0 조회수 349

kafka sink 생성 시 tasks state failed

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

안녕하세요 강사님! 강의 잘보고 있습니다. 강의시간 18:58에 sink 생성 후 status 확인 값에서 tasks.state 값이 failed라고 뜹니다. 그래서 connect 로그를 보면 아래와 같이 뜹니다. [2023-05-02 00:04:12,636] ERROR [my-order-sink-connect|task-0] WorkerSinkTask{id=my-order-sink-connect-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask:196) org.apache.kafka.connect.errors.ConnectException: Tolerance exceeded in error handler at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:223) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execute(RetryWithToleranceOperator.java:149) at org.apache.kafka.connect.runtime.WorkerSinkTask.convertAndTransformRecord(WorkerSinkTask.java:516) at org.apache.kafka.connect.runtime.WorkerSinkTask.convertMessages(WorkerSinkTask.java:493) at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:332) at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:234) at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:203) at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:189) at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:244) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.kafka.connect.errors.DataException: JsonConverter with schemas.enable requires "schema" and "payload" fields and may not contain additional fields. If you are trying to deserialize plain JSON data, set schemas.enable=false in your converter configuration. at org.apache.kafka.connect.json.JsonConverter.toConnectData(JsonConverter.java:328) at org.apache.kafka.connect.storage.Converter.toConnectData(Converter.java:88) at org.apache.kafka.connect.runtime.WorkerSinkTask.lambda$convertAndTransformRecord$4(WorkerSinkTask.java:516) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndRetry(RetryWithToleranceOperator.java:173) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:207) ... 13 more 구글링 해봐도 원하는 답변들이 없어 남겨봅니다.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
mj Song 댓글 2 좋아요 0 조회수 1154

순수 EntityManager vs Spring Data JPA 테스트

해결됨

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

프로젝트를 하면서 궁금한 점이 생겨 질문드립니다. @AutoConfigureMockMvc와 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) 만 적용한 상태로 테스트 코드를 작성했습니다. 그리고 @Autowired를 통해 순수 EntityManager를 주입받아서 직접 영속성을 관리하는 레포지토리가 있습니다. 그런데 직접 EntityManager를 주입받은 Repository 빈은 테스트 주입 시 EntityManager가 없다는 오류가 발생합니다. 하지만 Spring Data JPA의 JpaRepository를 상속받은 인터페이스를 @Autowired로 주입받으면 이는 문제없이 테스트가 동작합니다. 혹시 어떤 차이점이 있는지 알 수 있을까요? @Repository public class UserRepository { @PersistenceContext private EntityManager em; public User save(final User user) { em.persist(user); return user; } public Optional<User> findByEmail(final String email) { List<User> users = em.createQuery("select u from User u where u.email=:email", User.class) .setParameter("email", email) .getResultList();return users.isEmpty() ? Optional.empty() : Optional.of(users.get(0)); } } public interface UserJpaRepository extends JpaRepository<User, Long> { public Optional<User> findByEmail(final String email); } @ActiveProfiles("test") @AutoConfigureMockMvc @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) class AjaxEmailPasswordAuthenticationFilterTests extends DummyObject { @Autowired private ObjectMapper objectMapper; @Autowired private MockMvc mockMvc; @Autowired private UserJpaRepository userJpaRepository; @Autowired private PasswordEncoder passwordEncoder; @BeforeEach void setup() { userJpaRepository.save(User.builder() .email("test@gmail.com") .username("test") .password(passwordEncoder.encode("1234")).build()); } @DisplayName("이메일 기반 회원가입 유저 로그인") @Nested class LoginByEmailTests { @DisplayName("로그인 성공") @Test void success_test() throws Exception { //given String url = Endpoint.Api.LOGIN_WITH_EMAIL; EmailLoginUserRequestDto requestDto = EmailLoginUserRequestDto.builder() .email("test@gmail.com") .password("1234") .build(); //when ResultActions resultActions = mockMvc.perform( post(url) .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(requestDto)) ); //then resultActions .andExpect(status().isOk()) .andExpect(jsonPath("$.id").exists()) .andExpect(jsonPath("$.redirectUrl").exists()); } } }

  • spring-boot
  • junit
jeidiiy 댓글 1 좋아요 0 조회수 734

테스트 범위 관련해서 궁금한 점이 있습니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 테스트 범위 관련해서 궁금한 점이 있습니다. 영한님 강의 들어보면, 보통 controller-service-repository 구조인데, , 보통 service만 하시나요? controller, repository 다하시나요?

  • java
  • spring
  • mvc
  • spring-boot
serverstudymaster 댓글 1 좋아요 0 조회수 425

상품등록 조회가 되지 않아요

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 내용] 여기에 질문 내용을 남겨주세요. 회원가입과 회원 조회는 문제없이 되는데 상품등록은 작성은 되지만 db에 담기지도 않고 그래서 조회도 안됩니다 ㅠㅠ 상품등록 조회 영상 코드가 잘못인가 하고 복붙을 했는데도 안됩니다 ㅠㅠ 무엇이 문제일까요??ㅠㅠ] 제가 지금 야생형으로 따라 하고있어서 아무것도 몰라서 어느부분이 문제인지 알수없어서 남겨봅니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
deal6162 댓글 2 좋아요 0 조회수 373

user-service에서 설정파일 정보를 읽어오지 못하고 있습니다.

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

현재 학습하고 있는 스프링 버전은 3.0.5 버전입니다. implementation 'org.springframework.cloud:spring-cloud-starter-config' implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap' 위 두개의 라이브러리를 추가한 후 bootstrap.yml 파일을 생성해서 아래와 같이 작성을 하면 spring: cloud: config: uri: http://localhost:8888 name: ecommerce 서버 실행 후 아래와 같이 로그가 출력됩니다. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.5) 2023-05-01T17:24:26.009+09:00 INFO 81323 --- [ restartedMain] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888 2023-05-01T17:24:26.117+09:00 INFO 81323 --- [ restartedMain] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=ecommerce, profiles=[default], label=null, version=6bb0cd579b695bb651be6edc215d85335734c939, state=null 2023-05-01T17:24:26.117+09:00 INFO 81323 --- [ restartedMain] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-configClient'}, BootstrapPropertySource {name='bootstrapProperties-file:///Users/..../git-local-repo/ecommerce.yml'}] name=ecommerce로 정상적으로 불러지고 있고, yml 파일 위치도 정상적으로 출력이 됩니다. 하지만 서버가 실행되다가 8888포트를 이미 사용을 하고 있다는 메시지와 함께 서버가 종료가 되었습니다. 검색을 해 보니 2.4버전대부터 설정하는 방법이 바뀌었다고 해서 변경된 방법으로 적용을 했습니다. bootstrap 라이브러리를 삭제했습니다. implementation 'org.springframework.cloud:spring-cloud-starter-config' bootstrap.yml 파일을 삭제했습니다. application.yml 파일에 내용을 추가했습니다. spring: config: name: ecommerce import: optional:configserver:http://localhost:8888 그리고 실행을 하면 아래와 같이 name=user-service로 적용이 됩니다. 2023-05-01T17:33:51.792+09:00 INFO 82127 --- [ restartedMain] o.s.c.c.c.ConfigServerConfigDataLoader : Fetching config from server at : http://localhost:8888 2023-05-01T17:33:51.792+09:00 INFO 82127 --- [ restartedMain] o.s.c.c.c.ConfigServerConfigDataLoader : Located environment: name=user-service, profiles=[default], label=null, version=6bb0cd579b695bb651be6edc215d85335734c939, state=null 이유가 application.yml 파일에서 config 설정 윗 부분에 spring: application: name: user-service 이렇게 application name을 설정을 해서 그렇게 나오는것 같습니다. 그리고 로그중에 아래와 같이 뜨는데 2023-05-01T17:33:51.793+09:00 INFO 82127 --- [ restartedMain] o.s.b.devtools.restart.ChangeableUrls : The Class-Path manifest attribute in /Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.1/bad26cea1d483dda57b6f634cdeaca3238637aea/jaxb-impl-4.0.1.jar referenced one or more files that do not exist: file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.1/bad26cea1d483dda57b6f634cdeaca3238637aea/jaxb-core.jar,file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.1/bad26cea1d483dda57b6f634cdeaca3238637aea/angus-activation.jar 2023-05-01T17:33:51.794+09:00 INFO 82127 --- [ restartedMain] o.s.b.devtools.restart.ChangeableUrls : The Class-Path manifest attribute in /Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.1/e8bf2d711d2d4250537199602bccae0cd4e62726/jaxb-core-4.0.1.jar referenced one or more files that do not exist: file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.1/e8bf2d711d2d4250537199602bccae0cd4e62726/jakarta.activation-api.jar,file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.1/e8bf2d711d2d4250537199602bccae0cd4e62726/jakarta.xml.bind-api.jar 아래의 라이브러리중 어떤것을 설치를 해도 똑같은 로그가 출력됩니다. 파일이 존재하지 않는다는 내용인데.. INFO레벨로 출력이 되서 우선은 그냥 넘어갔습니다. implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359' // implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.4' user-service를 실행을 시켜보면 아래와 같이 외부 설정 파일의 값을 읽어오지 못하고 있습니다. It's Working in User Service, port(local.server.port)=56942, port(server.port)=0, token secret=null, token expiration time=null 아래의 공식 문서도 참고를 해 봤는데 어느 부분이 잘못됐는지 모르겠더라구요.. https://docs.spring.io/spring-cloud-config/docs/current/reference/html/ 이 전단계의 git-local-repo 디렉토리를 만들어서 git을 commit까지 하는것은 정상적으로 됐고, 설정파일을 읽어오는것까지는 정상적으로 됐었습니다. 제 경우 한가지 이슈사항이 있던 부분은 git branch가 master로 되어있어서 오류가 나는 부분이 있어서 그 부분은 git branch를 main으로 하나 만들어서 적용을 하니 해당 오류는 해결이 됐었습니다. 최신 버전으로 적용을 할려고 하니 이리저리 쉽지가 않네요..

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
인프러너 댓글 2 좋아요 0 조회수 1392

인기 태그

인프런 TOP Writers

주간 인기글