본문 바로가기
반응형

개발96

[Apache] web-was 연동, socket_timeout 설정 이슈 현상 web-was가 연동된 프로젝트에서 테스트를 하는데 데이터 중복 에러가 발생하였다. 다른 서버로 데이터를 전송하는데 그 서버에서 응답이 10초안에 오지 않아 우리 서버에서는 재요청을 하고, 그 서버에서는 이미 데이터 처리를 했기 때문에 중복 요청이 된 것이다. (우리 서버에서는 해당 요청건이 미완료 상태이고..) apache쪽 설정 파일 중 workers.properties가 있고, socket_timeout이라는 항목이 있는데 이게 10으로 설정되어 있을 경우 응답이 해당 시간 안에 오지 않으면 재요청하게 된다... 서버의 상황에 맞게 조절해서 쓰자.. worker.worker1.socket_timeout=10 2021. 11. 30.
[Tomcat] JNDI 정보 암호화(DB정보 : url, username, passowrd) / KDF 알고리즘 이용 1. url, username, password를 encrypt 한다. KDFEncrypted.java import java.security.MessageDigest; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Hex; public class KDFEncrypted { public static void main(String[] args) { String key = "test"; String url = "jdbc:tibero:thin:@10.10.10.XX:XXXX:tibero"; St.. 2021. 11. 30.
[Spring] Scheduler(스프링 스케줄러) 설정하기 스프링에서 특정 시간 혹은 몇 분, 몇 시간 마다 기능을 동작 시키려면 Spring에서 제공하는 scheduler를 이용하면 된다. (Spring 3.1부터는 Quartz없이 간단하게 스케줄러 구현이 가능하다.) ​ 먼저 applicationContext에 스케줄러를 등록한다. (Component Scan이 선언되어 있는 파일) applicationContext.xml (요약) => testJob의 doJob 메소드를 30분마다 실행하는 스케줄러를 등록했다. testJob은 아래와 같다. TestJob.java @Service("testJob") public class TestJob { public synchronized void doJob() { System.out.println("###########.. 2021. 11. 30.
[Intellij] 단축키를 sts, eclipse와 동일하게 사용하기 STS, Eclipse만 사용하다 인텔리제이를 처음 사용해보니 단축키가 달라 어색했다 근데 인텔리제이에 eclipse의 단축키와 똑같이 설정하는 기능이 있었다. File > Settings 에서 Keymap 설정 2021. 11. 30.
[intellij] html, jsp, css, javascript.. Live reload(실시간 반영, 새로고침)적용하기 Update Policies 정책으로 인해 업데이트가 바로 적용 안됨.. 프로젝트를 수정사항을 확인하기 위해 재시작을 하는게 너무 번거로워 서치해봄.. 아래와 같이 적용하면 재시작하지 않아도 변경 사항이 반영된다! Run > EditConfiguration : Running Application Update Policies 필드값 변경 On 'Update' action = Update trigger file On frame deactivation = Update resources Dependency 추가 compile 'org.springframework.boot:spring-boot-devtools'​ 설정 파일(application.xml) 적용하기 spring.thymeleaf.cache=false.. 2021. 11. 30.
[Intellij] 프로젝트 import 에러 svn에서 프로젝트를 내려받았더니 에러가 주르륵 떴다. 같은 프로젝트 내의 class 파일 자체도 인식이 안되는 건지.. import 부분에 에러 투성이.. mvn 프로젝트도, gradle 프로젝트도 아니라 평소에 하던 clean, install, build 등도 못하는 상황 찾아보니까 인텔리제이의 Build > Build Project 가 있었다 Build Project 하고 나니 에러가 말끔히 사라짐! 위 방법으로 안되면 .idea 의 데이터를 다 지우고 다시 하는 방법도 있더라 2021. 11. 30.
[Intellij] Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 인텔리제이에서 yml 파일에 한글 주석이 있을 경우 발생하는 에러 1. 파일 위치 : C:/Program Files/JetBrains/IntelliJ IDEA 2021.1.2/bin/idea64.exe.vmoptions -Dfile.encoding=UTF-8 추가 -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -ea -Dsun.io.useCanonCaches=false -Djdk.http.auth.tunneling.disabledSche.. 2021. 11. 30.
[JPA] @OneToMany - 자식 테이블(관계 Entity)의 데이터를 상황에 따라 가져오기 JPA를 사용하다 보면 LAZY 패치타입으로 relation이 달려 있는 엔티티를 조회할 때 n+1 문제가 발생하는 경우가 많다. 이럴 때는 @EntityGrapth만 달아주면 join하여 한번에 select할 수 있다. 아래는 예시이다. Product 테이블과 Sample 테이블은 1:N 관계이다. 따라서 sampleList에 @OneToMany 어노테이션을 설정해주었다. (반대로 Sample 엔티티에 Product를 @ManyToOne 설정해주어도 된다) @Entity @ToString @Table(name = "PRODUCT") public class Product{ @Id @Column(name = "PRODUCT_ID", columnDefinition ="VARCHAR(36)") private .. 2021. 11. 26.
728x90
반응형