사용자 둘이서 특정 목적지까지 내기 하는 서비스를 만들고 있습니다. Kafka, rabbitMQ를 사용해서 이벤트 예약처리하는 방법도 찾아봤지만 간단하게 Quartz 스케줄러를 이용해서 처리했습니다. 1분마다 스켈줄을 처리하기에는 사이드 프로젝트인 만큼 부담이 되고 레퍼런스를 찾아보니 그린카가 10분단위로 예약을 받는것을 보고 변경했습니다. @EnableAsync ➡️ 이벤트를 비동기로 처리하기 위함 @EnableScheduling ➡️ 스케줄러를 통해서 10분마다 데이터를 처리하기 위함 스케줄 처리 참고 [Spring Boot] @Scheduled을 이용해 일정 시간 마다 코드 실행하기 @Scheduled Spring Boot에서 @Scheduled 어노테이션을 사용하면 일정한 시간 간격으로, 혹은 특..
개발
deleteAll과 deleteAllInBatch()의 차이 OrderServiceTest를 작성하면서... @SpringBootTest class OrderServiceTest { @Autowired private ProductRepository productRepository; @Autowired private OrderRepository orderRepository; @Autowired private OrderProductRepository orderProductRepository; @Autowired private StockRepository stockRepository; @Autowired private OrderService orderService; @AfterEach void tearDown..
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ..하ㅏ핳 UnknownEntityException 이름만 봐도 알거 같았다. select 기능도 하나 넣어주고 싶어서 EntityManager를 통해서 select쿼리 날렸는데 해당 table이 JPA를 사용하지 않고 있었기 때문에 발생했다. 발생된 코드다... 부끄럽지만 ㅋㅋㅋㅋ,,, Exception이름만 봐도,, 아 이거구나 싶었다. 이래서 클래스,변수,메서드 이름 잘 짓는게 중요한거 같다 내가 고민을 하다가 statement방식은 sql Injection공격이 있을 수 있어서 prepared statement 방식으로 처리해야 되나 생각했다. prepared statement는 org/h2/jdbc/JdbcPreparedStatement.java 에서 setString 메서..
Spring에서 CommonOAuth2Provider에서 정보를 확인하면 GitHub의 End Point 정보들이 있다. GITHUB { @Override public Builder getBuilder(String registrationId) { ClientRegistration.Builder builder = getBuilder(registrationId, ClientAuthenticationMethod.CLIENT_SECRET_BASIC, DEFAULT_REDIRECT_URL); builder.scope("read:user"); builder.authorizationUri("https://github.com/login/oauth/authorize"); builder.tokenUri("https://g..
에러를 만나면서 spring security에 대한 이해도가 조금 올라간거 같당 Spring Security의 HttpSecurity구성@Bean SecurityFilterChain filterChain(HttpSecurity http) throws Exception { return http .csrf().disable() .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .formLogin().disable() .httpBasic().disable() //Authentication header에 id,pw 주는 방식 (Bearer Token 사용할거니까) .apply(new MyCustomDsl()) //..