300x250
반응형

분류 전체보기 197

[SpringBoot] Embedded Tomcat 세션 클러스터링

SpringBoot를 내장 톰캣으로 실행하고 만약 세션을 사용한다면 세션 클러스터링 설정이 필요하다. 토큰이나 Redis를 사용하는 경우에는 불필요하겠지만 내장 톰캣의 세션을 그대로 이용한다면 세션 클러스터링을 통해 세션 공유 설정을 해야지만 여러 대의 was로 서비스가 가능할 것이다. 테스트 환경 - SpringBoot 2.6.7, Tomcat 9.0.62, JDK 11 1. 의존성 설정 먼저 build.gradle에 tomcat-catalina-ha를 의존성으로 추가한다. implementation 'org.apache.tomcat:tomcat-catalina-ha:9.0.62' 2. Java Config 설정 @Configuration을 통해 내장 톰캣에 대한 세션 클러스터링 Java Config ..

Back-End/Spring 2023.03.21

[Oracle] 그룹 함수 (ROLLUP, CUBE, GROUPING 등)

오라클에 있는 다양한 그룹함수에 대한 내용이다. CREATE TABLE 월별매출 ( 상품ID VARCHAR2(5), 월 VARCHAR2(10), 회사 VARCHAR2(10), 매출액 INTEGER ); INSERT INTO 월별매출 VALUES ('P001', '2019.10', '삼성', 15000); INSERT INTO 월별매출 VALUES ('P001', '2019.11', '삼성', 25000); INSERT INTO 월별매출 VALUES ('P002', '2019.10', 'LG', 10000); INSERT INTO 월별매출 VALUES ('P002', '2019.11', 'LG', 20000); INSERT INTO 월별매출 VALUES ('P003', '2019.10', '애플', 150..

DB/그 외 2023.03.21

[SpringBoot] 배송조회 API 추천

현재 개발중에 유용하게 사용중인 배송추적 API가 있어 소개드립니다. 저는 Java에서 따로 호출하여 사용중인데, JavaScript 페이지도 공유되어 있어서 올려드립니다. 제가 사용중인 Java code는 아래에 따로 추가했습니다. 출처 및 원글 : https://tracker.delivery/guide 링크형 배송조회 페이지를 팝업 형태를 띄우고 싶다면 아래와 같은 방식으로 코드를 넣으시면 됩니다. 배송조회 API형 제공되는 웹 페이지를 이용하지 않고 Restful API에 직접 접근하여 데이터를 가져올 수 있습니다. 택배사 목록 조회 API GET https://apis.tracker.delivery/carriers [ { "id": "de.dhl", "name": "DHL", "tel": "+82..

Back-End/Spring 2023.03.21

[Java] FTP 파일 전송하는 방법 (Apache commons-net Lib)

자바로 FTP 통신하기 (파일 업로드) 파일질라, 알FTP(?) 같은 훌륭한 FTP프로그램들이 이미 있지만 자바로 간단하게 파일을 전송하는 프로그램을 찾아보았다. (사실 텔넷으로 명령어 쓸 일이 있어서 telnet 라이브러리를 찾다가 ftp도 흥미가 생겨 한번 사용해보는 것...) * 참고로 apache에서 commons-net 이라고 라이브러리를 제공하는데 여기에 telnet도 있고 NTP, FTP등 다양한 일반적인 프로토콜이 있어서 일반적인 프로토콜 통신 기능을 쉽게 사용할 수 있다. ftp로 통신을 하려면 먼저 ftp서버가 돌고 있어야 파일 전송을 받아준다. virtual machine 을 사용해서 리눅스(우분투)를 설치한 후에 ftp서버를 사용할 수 있게 바꿔줘야 한다. (마지막에 설명함) 1 2..

Back-End/Java 2023.03.21

[SpringBoot] Unable to compile class for JSP / querydsl 의존성에 의한 JSP 컴파일 에러

이슈 현재와 같은 pom.xml 구조를 가지고 있었다. 4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.4 com.abc sample 0.0.1-SNAPSHOT war sample data create sample data 11 org.springframework.boot spring-boot-starter-data-jpa com.querydsl querydsl-apt com.querydsl querydsl-jpa org.springframework.boot spring-boot-starter-web org.apache.tomcat.embed tomcat-embed-jasper org.springframework.boot spring-boot..

Back-End/Spring 2023.03.10

[Java] JAVA에서 JSON API parse시 ALLOW_NON_NUMERIC_NUMBERS, Object타입 등의 에러해결

자바에서 JSON API 호출 시 나는 에러 Non-standard token 'NaN': enable JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS to allow 위와 같은 에러 해결에는 mapper.enable ALLOW_NON_NUMERIC_NUMBERS 추가 ObjectMapper mapper = new ObjectMapper(); mapper.enable(JsonReadFeature.ALLOW_NON_NUMERIC_NUMBERS.mappedFeature()); Cannot deserialize value of type `java.util.ArrayList` from Object value (token `JsonToken.START_OBJECT`) Object ..

Back-End/Java 2023.03.07

[SpringBoot] Project에서 특정 Bean을 찾지 못하는 에러

Project를 Boot로 실행했더니, 다음과 같은 에러가 발생했다. *************************** APPLICATION FAILED TO START *************************** Description: Failed BoardDao in BoardService required a bean of type 'com.spring.board.dao.BoardDao' that could not be found. Action: Consider defining a bean of type 'com.spring.board.dao.BoardDao' in your configuration 대략, 구성했던 프로젝트의 service 클래스에서 dao를 제대로 찾지 못해서 발생하는 문제였는..

Back-End/Spring 2023.03.02

[JPA] Spring Boot에서 다중 DB를 사용하기

1. 개요 이 튜토리얼에서는 여러 데이터베이스가 있는 Spring Data JPA 시스템에 대한 간단한 Spring 구성을 구현합니다 . 2. 엔티티 먼저 각각 별도의 데이터베이스에 있는 두 개의 간단한 엔터티를 만들어 보겠습니다. 다음은 첫 번째 사용자 엔터티입니다. package com.baeldung.multipledb.model.user; @Entity @Table(schema = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; private String name; @Column(unique = true, nullable = false) private String email..

Back-End/Spring 2023.03.02

[Git] GitHub 레파지토리(Repository) 삭제

Git Repositories를 만든 뒤 삭제하는 법을 몰라서 헤매시는 분들을 위해 이번 포스팅에서는 Git 원격 저장소 레파지토리 삭제 방법에 대해 알아보도록 하겠습니다. 1. 먼저 깃허브 사이트에가서 로그인을 한 뒤 삭제하고 싶은 레파지토리로 들어갑니다. 깃허브 바로가기 2. 자신의 레파지토리 리스트 중에서 자신이 삭제하고자 하는 레파지토리에 들어갑니다. 3. 삭제할 레파지토리에서 우측 상단의 Setting버튼을 클릭합니다. 4. Setting에서 스크롤을 밑으로 끝까지 내리게 되면 위와 같은 Danger Zone 나오는데요 여기서 가장 밑에 있는 Delete this repository버튼을 클릭합니다. 5. 그런 뒤 확인작업을 두 번 거쳐야 하는데요. 제거할 레파지토리명과 계정 패스워드를 차례로 ..

[Git] GitHub에 프로젝트 올리기

보통은 저장소를 생성한뒤 'Upload files'를 하면 업로드되지만 파일 갯수가 너무 많을 경우 안되므로 큰 프로젝트를 업로드할때는 이 방법으로 하자 1. Git을 설치한다. https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific..

300x250
반응형