본문 바로가기

java27

Java 로그에서 StackTrace 가 생략되는 현상 시스템을 운영하던 중 StackTrace 가 로그상에서 출력되지 않는 현상이 발견되었습니다. Log4j 를 사용하고 있는 환경에서 아래와 같이 로그 출력시 Exception 객체를 넘겨주어 Trace 가 출력되도록 하였음에도 생략되었습니다. log.error(“Error message”, e); 왜 이런 현상이 발생하는 것일까요? 구글링을 하던 중 아래 링크를 발견하였습니다. http://jawspeak.com/2010/05/26/hotspot-caused-exceptions-to-lose-their-stack-traces-in-production-and-the-fix/ JDK release note 를 확인해보면 아래와 같이 설명하고 있습니다. http://www.oracle.com/technetwor.. 2016. 4. 4.
Java DBCP Datasource 설정 정의한 값 1. initialSize : 풀의 초기 커넥션 갯수 2. maxActive : 최대 커넥션 갯수 3. maxWait : 커넥션이 존재하지 않을 때, 커넥션을 얻기까지 대기하는 최대 대기시간 4. maxIdle : Idle상태에 풀이 소유한 최대 커넥션 갯수 5. testOnBorrow : 풀에서 커넥션을 가져올시 커넥션의 유효성 검사 6. testOnReturn : 풀에 커넥션을 리턴할 때 커넥션의 유효성 검사 7. validationQuery : validate Query 8. testWhileIdle : Idle상태에 커넥션의 유효성 검사 9. timeBetweenEvictionRunsMillis : 설정된 주기를 통해 Evict(유효하지 않는 커넥션/정의된 시간이 만료된 커넥션을 풀에서.. 2016. 2. 23.
[자바8 람다의 힘] 4장 람다 표현식을 이용한 설계 이 글은 "자바 8 람다의 힘" 책을 정리한 글입니다. Chapter 4. 람다 표현식을 이용한 설계 앞에서 다른 내용들만 봐도 람다를 이용하여 코드를 좀 더 간결하고 읽기 쉽게 작성할 수 있다는 것을 알았다. 이 장에서는 람다 표현식을 사용하여 여러가지 패턴이나 설계들을 구현하는 방법에 대해서 알아보자. 1. 전략패턴(Strategy Pattern) 클래스를 생성하는 이유 중 하나는 코드를 재사용하기 위함이다. 좋은 의도이긴 하나 항상 그런 것은 아니다. 자산의 총합을 구하는 예제를 통해 클래스 내의 코드 재사용성을 향상시켜 보자. 먼저 Asset 클래스를 생성한다. public class Asset { public enum AssetType { BOND, STOCK }; private final As.. 2016. 2. 10.
Java Static 과 Spring Singleton 의 차이 http://blog.daum.net/rollin/8097082 잘 설명된 블로그인 것 같다. 간략하게 정리해 보자면... Java static 의 공유범위는 Classloader 기준이고,Spring Singleton 의 공유범위는 ApplicationContext 기준이다. Tomcat7 의 ClassloaderSpring 의 ApplicationContext 기준 2016. 1. 20.