Server

Tomcat 성능 튜닝 with CentOS

현재 런칭 준비중인 서비스의 톰캣 튜닝 정보 공유합니다. ( CentOS 기반 ) open files, max user processes 설정 변경 [crayon-5b02fbdf013e3035490929/] Tomcat Server.xml 설정 변경 [crayon-5b02fbdf013f2739713026/] Tomcat Java Option 추가 [crayon-5b02fbdf013f7103527898/]      

글쓴이 SilverNine,
Java

Spring Batch – @Transactional 이슈 해결 방법

Spring Batch Admin 을 통합한 Spring Batch 프로젝트에서 아래와 같은 경우 @Transactional 어노테이션이 정상적으로 작동하지 않는 경우가 있습니다.     1. 기존 Spring Batch Admin 라이브러리 내부에 transactionManager가 선언되어 있기 때문에 다른 이름으로 TransactionManager를 선언하여 사용 [crayon-5b02fbdf0483d708931675/] 2. 위와 같이 선언하고 아래와 같이 어노테이션을 사용하여 트랜젝션을 설정 [crayon-5b02fbdf04848617415604/]   이와 같은 더 보기…

글쓴이 SilverNine,
Elasticsearch

Install ElasticSearch on CentOS 7 – Part 1

Centos 7 환경에서 ELK Stack을 설치 해봅시다. 사전에 Java는 설치가 되어 있어야 합니다. 1. yum을 이용해 elasticsearch를 설치하기 위해 아래와 같은 경로에 repo 파일을 생성합니다. /etc/yum.repos.d/elasticsearch.repo [crayon-5b02fbdf04b67980232090/] 2. elasticsearch 설치시작! [crayon-5b02fbdf04b6f276941096/] 3. 부팅 시 자동으로 시작되도록 스크립트를 등록합니다. [crayon-5b02fbdf04b73649080108/] 4. 또는 systemd를 이용하여 서비스를 시작합니다. [crayon-5b02fbdf04b76995204882/] 5. 프로세스 확인 [crayon-5b02fbdf04b7a812775813/] 더 보기…

글쓴이 SilverNine,
Server

Java로 web.xml 구현하기 2

web.xml을 java로 구현하는 방법에 대해서 이전에 WebApplicationInitializer 를 이용하는 방법을 올렸습니다. Java로 web.xml 구현하기 이외에 Spring 3.2 부터는 AbstractAnnotationConfigDispatcherServletInitializer 를 이용하여 구현하는 방법이 있습니다. [crayon-5b02fbdf06fe9667973485/]   Filter를 사용하기 위해 onStartup을 Override한다면 이를 사용하지 않는 방법도 있습니다. [crayon-5b02fbdf06ffa719793004/]  

글쓴이 SilverNine,
Java

JsonView Null to Empty String

Spring에서 JsonView 사용 시 공통으로 null인 필드를 empty string으로 리턴해야 할 필요가 있는 경우가 있습니다. 이런 경우 ObjectMapper를 상속받은 Custom ObjectMapper를 이용한 HttpMessageConverter를 통해 해결할 수 있습니다. 1.NullSerializer 구현 [crayon-5b02fbdf07464818347101/] 2.CustomObjectMapper 구현 [crayon-5b02fbdf0746b843508396/] 3.HttpMessageConverter 추가 [crayon-5b02fbdf07470945025640/]  

글쓴이 SilverNine,
Java

Mocking BindingResult

Controller Test시에 해당 method를 invoke를 할 일이 생길 수 있습니다. 이때 @Valid Annotion을 사용하고 있다면 BindingResult를 Mock객체로 만들어야 할 일이 생깁니다. 방법은 Mock 객체를 사용할 수 있게 setup 코드를 삽입하면 해당 BindingResult를 무시하고 Test Code를 작성할 수 있습니다. [crayon-5b02fbdf07807912679641/]

글쓴이 SilverNine,
Chrome Extension

Domain Changer – Chrome Extension

오랜만에 일요일에 시간이 나서 만들어본 Chrome Extension 입니다. API 개발 업무를 하다 보니 동일 API를 개발, 스테이징, 운영 서버들의 IP 주소를 바꿔가며 테스트해야 할 일이 많아서 귀차니즘을 해소하기 위해…. https://github.com/SilverNine/DomainChanger https://chrome.google.com/webstore/detail/domain-changer/johlplegcoeinbndombihjaehcnmpljn?utm_source=chrome-ntp-icon  

글쓴이 SilverNine,
Python

Fabric ( Simple Tomcat Deploy )

CI 서버를 통한 배포 이외에 간편하게 배포를 할 수 있는 방법이 없을까 고민하던 중 얼마전 정말 고마운 분에게 간단한 Deploy시 유용하게 사용할 수 있는 Fabric ( http://www.fabfile.org/ ) 이라는 툴에 대해 가르침을…^^ 받았습니다. 설치도 간편하고 Python으로 되어있어 코드도 쉽게 작성할 수 있습니다. 설치와 관련된 사항은 사이트에서 확인 가능합니다. 아래는 요즘 더 보기…

글쓴이 SilverNine,