본문 바로가기

Programming!

Spring Data JPA에서 new XXX() 사용하기. SpringDataJPA-Tips @Query Annotation 등으로 특정 컬럼만 호출하도록 한다. findById와 같이 일반적인 select에서는 해당 entity의 모든속성을 호출하게 되어있다. 이경우 불필요한 컬럼과 자식entity까지 가져오게 되므로 아래와 같이 처리하는게 좋을 수도 있다. (기본적인 Projections 관련 사항은 꼭 둘러보자) 기존 findById(id) Hibernate: select company0_.id as id1_0_0_, company0_.createdAt as createdA2_0_0_, company0_.createdBy as createdB3_0_0_, company0_.modifiedAt as modified4_0_0_, company0_.modifie.. 더보기
Jenkins Api Launcher 가볍게 만들어 보기 - Spring Boot - Local Jenkins https://github.com/eclipse4j/jenkins-api-launcher - Local Jenkins 설치 후, "jenkins-launcher-exsample_00" Job을 만든다. - 구성으로 들어가서 빌드를 원격으로 유발에 체크. - 그외 매개변수나 시큐리티 설정을 해주면된다. - github에서 소스를 받고 아래 테스트 코드를 실행해 보자. JenkinsLauncherServiceTest.java - 아래 처럼 실행 로그가 남으면 성공. 더보기
PERFORMANCE WARNING: Overlapping onDeckSearchers=2 Solr Warnning 중 아래의 내용이 출력되는 경우.(기본적인 warn은 commit의 빈도가 많기 때문이다.) "PERFORMANCE WARNING: Overlapping onDeckSearchers=2" 위 문제를 해결하기 위해 maxWarmingSearchers의 숫자를 늘리지는 말자.(물론 필요시 늘릴 수 있음.) - Application 직접 작성한 소스내 commit()을 호출하는 부분이 있다면 삭제한다. - autoCommit과 maxTime, softAutoCommit을 적절하게 조절한다. 해당 처리후 서버를 재기동 하면 오류가 출력되지 않음을 확인했다. ex) 1000000 30000 5000 false 3000 ${solr.solr.home:}/data 더보기
Spring ( boot ) 에서 @EnableXXX 설정 활성화 만들기 https://github.com/eclipse4j/spring-enableXX ### 기본 생성시 @SpringBootApplicationpublic class StudySpringEnableAnnotationApplication { public static void main(String[] args) {SpringApplication.run(StudySpringEnableAnnotationApplication.class, args);}} ### Enable Annotation 만들기 @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface EnableRestTemplate {} ### Spring RestTemplate.. 더보기
Java 8 에서의 Map 생성 java 8 을 쓰면서 Map 생성시 좀 심플한..뭐 guava의 .of(k,v,k,v..) 이런걸 찾아보는데... http://stackoverflow.com/questions/507602/how-can-i-initialise-a-static-map ㅡㅡㅋ java 9에 있다니.. 여튼, 익명 클래스든 뭐든 좋지만, 굳이 원하는 형태의 생성자가 없는데 Guava 를 사용하는 것도 그렇고.. 또 뭔가 유틸성 클래스를 만드는 것도 그렇고.. 그냥 명시적으로 new HashMap(); 하고 대신 unmodifiableMap 로 처리하는게 좋아 보인다.Map paramMap = new HashMap(); paramMap.put("query", String.format("SERVICE_ITEM:%s", stoc.. 더보기