반응형 직장이 아닌 직업을 가지자!739 ChainedTransactionManager를 이용한 글로벌트랜잭션 ChainedTransactionManager는 정말 획기적인 것 같다. 2pc의 글로벌트랜잭션을 하기 위하여 XA datasource를 이용하던지, 분산처리를 할 수 있는 오픈소스를 사용하여야만 하였다. 하지만 stand alone 에서도 또는 tomact에서! 아주 쉽게 2pc 처리를 할 수 가 있다. 즉, 글로벌 트랜잭션으로 묶을 수 가있다. 환경 : spring 3.1 tomcat 6.0 maven project maven을 사용하고 있다면 아래의 jar파일을 우선적으로 가져와야한다. # pom.xml 설정 dependencies에 아래와 같이 선언한다. org.springframework.data spring-data-neo4j-tx 2.1.0.RELEASE cglib cglib org.neo4.. 2013. 8. 22. [소소한 테스트] Maven과 dependency 정리를 해야겠다는 생각을 하였다. 그냥 지나쳐버린 것들이 많이 있기 때문이다. 그냥 느낌 또는 대충 알고 있는 것들에 대한 불안감 또는 답답함을 해소하기 위해서.. 소소한 테스트와 메카니즘을 알아가보자^-^good~ 2013/08/20 - [CM/Maven] - pom.xml 을 알아보자! pom.xml 에서 엘리먼트에 spring 관련 내용을 넣어보자. spring-core, spring-aop, spring-webmvc-protlet 이렇게 3가지!! 당연히 jar파일이 3개가 나올 것이라 생각 할 수 있다. org.springframework spring-core ${org.springframework.version} org.springframework spring-aop ${org.springfr.. 2013. 8. 21. pom.xml 을 알아보자! 오늘은 pom.xml에 대해..알아보자~! maven을 모르겠다는 분은 자바지기 박재성님의 "자바세상의 빌드를 이끄는 메이븐" 책을 추천한다. pom => project obejct model 기본 뼈대..대충 이러하다!! 4.0.0 kr.pe.acet ACET_PROJECT 0.0.1-SNAPSHOT war ACET_PROJECT ACET_PROJECT UTF-8 maven-compiler-plugin : The Compiler Plugin is used to compile the sources of your project. 출처 : http://maven.apache.org/plugins/maven-compiler-plugin/ maven-dependency-plugin : The dependency.. 2013. 8. 20. Server node별 instance명 구하기 전제 : 1) Was Server의 instance명이 VM Agument에 설정이 되어있어야 한다. 2) "classpath:spring/context/context-properties.xml" 에서 config.properties가 연결되어있어야 함. # 선 셋팅 작업 1) Local test 시 Vm argument에 server명 입력 : -Dserver="acetServer11" => # Run 할 때 설정에서 vm argument를 넣어줘야한다는거~!(in eclipse) 2) config.properties에 아래 내용 추가 #instance name node.instance.name=${server} # Junit Test 소스 package com.kt.oss.pcp.acet; impor.. 2013. 8. 20. checkStyle plug-in 설치 역시나 체크 스타일도..다른 플러그인과 마찬가지로!! Help > Install New Software.. > checkStyle - http://eclipse-cs.sourceforge.net/update (버전에 맞게 선택) > next, next > 이클립스 재가동 - 끝 - 2013. 8. 19. Websquare에서 Tomcat 연동 시 Error processing request 오류 Websquare에서 Tomcat 연동 시 아래와 같은 오류가 났다. 심각: Error processing request java.lang.OutOfMemoryError: PermGen space at java.lang.Throwable.getStackTraceElement(Native Method) WebSquare 업체분에게 문의를 했지만... tomcat 사용 시 위의 에러가나서..Jboss로 하라는 권고를 하였다고 하였다..OTL=3=3 PermGen space문제여서 PermSize를 아래와 같이 넣어주었다. -Xms40m -Xmx700m -XX:MaxPermSize=512m 결과적으로 잘돌아갔다^-^good~ -Xms40m -Xmx700m -XX:MaxPermSize=512m 위의 내용은 # .. 2013. 8. 19. PMD 확인 후 룰셋 셋팅하기 2013/08/19 - [TEST/PMD] - pmd plug-in 설치 설치 후 reStart를 하고 난 뒤에 PMD가 잘 깔려있는지 보자. Window > Preferences > PMD 좌측에 메뉴가 있는지 확인하자!^-^good~ rule set을 적용하기 위해 PMD메뉴 > Rules configuration 을 클릭 각 업무나 회사의 룰에 맞게 적용해야 할 룰셋이 있다면(xml) 1) Clear all를 통해 지운다.(기본 설정되어져있는 룰셋 제거) 2) Import rule set.. 3) 원하는 룰셋을 찾아 적용 룰셋을 적용한 뒤 사용해보자. pmd를 적용한 프로젝트 폴더에서 마우스 우클릭 -> 메뉴에 PMD가 있을 것이다. -> Check Code wiht PMD 등등 PMD의 명령어들이.. 2013. 8. 19. pmd plug-in 설치 다른 플러그인과 마찬가지로 Help > Install New Software.. > http://pmd.sf.net/exlipse (버전에 맞게 선택 - 본인은 ver 3.2.6 선택) > next, next > 이클립스 재가동 참 쉽죠잉? ㅎㅎㅎ - 끝 - 2013. 8. 19. 스프링시큐리티 - Filter Chain 2013/08/12 - [OpenSource/Spring Security] - DelegatingFilterProxy 저번 시간에는 DelegatingFilterProxy 요놈에 대해서 알아보았다. 다시금 되짚어보면 이녀석은 web.xml에 filter로써 역할을 한다. acetSpringSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy 즉, 아래의 bean인 filterChainProxy와 연결(link, binding) 되어진다. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 그러므로 filterChainProxy에 대해서 알아보자~~! 우선 Bypassing the Filter Chain 라는게 있다. 우리는 .. 2013. 8. 17. 스프링시큐리티 - DelegatingFilterProxy 스프링 시큐리티~~~시작 해보자^-^good~ 오늘 알아 볼 것은 DelegatingFilterProxy 이다. Spring's DelegatingFilterProxy는 link를 제공한다고 한다. web.xml과 application context 간의!! 레퍼런스에 보면 Spring's DelegatingFilterProxy provides the link between web.xml and the application context. 라고 나온다.^^good~~ 즉, 아래의 web.xml과 context-security.xml을 보면!! springSecurityFilterChain 의 DelegatingFilterProxy 요녀석이 context-security.xml의 filterChainPro.. 2013. 8. 12. [후기] 전자정부 표준프레임워크 오픈커뮤니티 35차 기술세미나 35차 기술세미나 (2013.07.31) - PaaS 플랫폼과 전자정부 표준프레임워크, 그리고 CSB 지난 달 말 35차 기술세미나에 다녀왔다. 후기가 조금 늦은감이 있지만..^-^;; Google App Engin DataStore Cloud SQL - semi-synchronous Maket Place : http://www.google.com/enterprise/maketplace (주소는 손으로 적은거라..노트에; 정확하지는 않다..) GAE system Monitoring Google Voice Compute Engine CSB(Cloud Services Brokerage) - SaaS - PaaS - BaaS 등등.. 구글의 이야기가 대부분이였던 것 같다. 클라우드쪽은 깊은 지식이 없어서인지... 2013. 8. 12. mybatis 3.1 개발자 local용 아쉽게 블로그 포스팅을 거의 못하고 있어서...시간 내서 작성을 하려고 합니다^-^good~ 오늘의 포스팅은! mybatis logger쪽 입니다. 환경 : Spring 3.1 mybatis-3.1.1.jar 서론 : 현재 mybatis에서는 sql문과 parameter 부분이 서로 나뉘어져 logging되고 있습니다. 개발을 할 때 param이 많다면 일일이 매핑 시켜서 오렌지나, sql develop 등등으로 보기에는 너무 힘이 들 것 입니다. 그래서 간단히..mybatis 소스를 조작하여 개발하여 보았습니다만.. 개발자 local용이라는 단점이 있습니다. server용은 아닙니다..ㅋㅋ;; 기본 제공 변경 후 ex) select * from acetDB => select * from acetDB w.. 2013. 8. 9. 요즘..(now a days..) Mybatis 소스를 조금 보고 있다.. logging부분인데 요즘 디자인패턴을 공부하고 있는데 Mybatis 소스에 떡~~하니 adapter 패턴과 proxy패턴이 쓰이고 있었다! 방가방가~~^-^/ 목표 : 현재 Mybatis 소스에서는 sql 과 parameter가 함께 나오지 않고 각각 따로따로 나오고 있다. 이것을 개발자 입장에서 봤을 때 참으로 짜증나는 일이 아닐수 없다. 쿼리를 날려보고 싶은데... ? 요녀석을 파라미터로 일일이 노가다작업으로 채워야 할 것이다. Oh my god!~ 그래서 Mybatis 소스를 조금 수정하여 이런 노가다 작업을 없애보기로 했다. 현재는 작업 중이며..어려움 중에 하나가.. sql이 나오는 부분은 ConnectonLogger라는 부분이고 parameter가 나.. 2013. 8. 1. replace / replaceFirst, Caused by: java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0 이런...내가 잘못 학습을 한건가... replace가 하나만 치환이 되어지는 것이고 replaceAll이 전부 치환 시키는 것으로 알고 있었다..-_-; 그런데..replace를 사용했을 경우 전부 치환이 되어지는 것이다..ㅠ_ㅠ... 그래서 혹시나 해서 봤더니...replaceFirst가 있네....OTL ?를 찾아서 내가 원하는 문자열로 치환하고 싶었다. 아래와 같이 오류가 발생했다. Caused by: java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0 바로..? 라는 특수문자는 그냥 사용 할 수가 없다. 소스는 아래와 같다. String nowParam = getParameterValueString();.. 2013. 8. 1. [첫번째 스터디] abstractFactory 패턴 part 2. abstractFactory pattern 추상 팩토리 패턴..!! 팩토리 패턴은 매우 다양한 것 같다..뒤에도 나오겠지만 Factory Method 라는 녀석도 있다. @.@;; Factory 패턴은 생성 패턴이라고도 부른다. 즉, 객체를 생성해주는 패턴이라고 보면 된다. 아래의 소스에서 보면 KRAddress와 USAddress.java가 생성이 되어야하는 대상 이다. 어떻게 생성을 해주어야 하는가는 소스를 보면 파악 할 수 있을 것이다. 하지만 헷깔릴수 있는 소지가 다분하다. 바로 팩토리 이녀석도 추상적인 개념을 넣어서 interface구조 또는 abstract구조로 나뉘어져있기 때문이다. 위의 소스의 구성을 보면 복잡하게 느낄 수도 있겠지만 사실은 간단하다. 소스를 보기 전에 간단히.. 2013. 7. 21. [첫번째 스터디] singleton 패턴 2013년 07월10일 사내 스터디가 부활 하였다. 두둥~2번째 용수철 스터디가 시작 되었다.처음에는 굿택과 둘이서 하려고 하였다가 2명을 더 추가하여 소스정예로 하게 되었다.^-^good~ 이번 사내 스터디의 내용은 디자인 패턴이다!!!개발코드를 중심으로 하는 스터디 이며, 매우 성실하게!! 해야 할 것이다. 이제 주저리는 그만하고..본론으로 패턴에 대해 알아보도록 하겠다^-^ part 1. singleton pattern 싱글톤 패턴!!~ 싱글+톤 마치..싱글 : 혼자, 하나 인 느낌톤 : 스켈레톤 할 때 뼈대의 느낌 인 듯 하다. 그래서 싱글톤은 하나의 뼈대?? 라고 생각하면 될 것 같다.(저만의 생각입져..ㄷㄷ)즉, java에서는 oop 즉 객제지향으로 봤을 때 싱글톤의 하나의 뼈대란 하나의 객체.. 2013. 7. 21. SLF4J: Failed to load class org.slf4j.impl.StaticLoggerBinder ERROR [STDERR] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". ERROR [STDERR] SLF4J: Defaulting to no-operation (NOP) logger implementation ERROR [STDERR] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 라는 오류가 났다..... 환경 : maven 프로젝트 jboss는 jboss5.1 eap log4j+slf4j 를 사용하는 내부..log툴 사용..--;; log4j를 사용한다고 보면 된다.^-^ [as-is 설정] jcl-over-slf4j slf4j-.. 2013. 7. 12. Junit Resource JUnit 테스트를 하려고 했을 때 혼돈이 되었던 내용이다. Resource는 어디에 것을 써야 할까??? 구성은 보통 maven 프로젝트를 사용 한다면 main / test 로 나뉘어진다. java build path를 보면 source쪽에 보면 알 수 있다. @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:spring/context/context-common.xml", "classpath:spring/context/context-aspect.xml", "classpath:spring/context/context-test-datasource.xml", "classpath:spring/context.. 2013. 7. 5. Batch Update 기능 Batch Update 기능 이란? 업무를 처리하는 웹 어플리케이션에서는 Insert, Update, Delete와 같은 Transactional 데이터 처리(OLTP)가 빈번하게 발생 한다. OLTP에 대한 대용량의 데이터 요청이 발생하면, 한번의 데이터 Connection으로 다수의 쿼리(설정된 쿼리의 개수)를 처리 하여 Connection의 횟수를 줄이므로 성능을 향상 시킬수 있다. 간단히 말하면 여러개의 CUD를 한번의 커넥션으로 처리 가능하다는 말이다! ^-^goood~ ibatis에 비해 매우 간단하다^-^goood~ 1) 아래와 같이 옵션을 준다. 2) Service에서 사용 하면 끝~~ 아래처럼 단일 건 또는 for문 이용, List 형태로 받아서 Iterator 로 사용 가능 하다. 1).. 2013. 6. 27. Bug https://jira.springsource.org/browse/SPR-4122 찾아보자! 2013. 6. 21. @Vaild 처리 시 주의 할 사항!! Server Validation Check를 하는데 있어서..주의사항이 있다! ex) message= 부분에서 띄어쓰기를 하면..파싱을 못하는 듯 하다..ㅠ_ㅠ.. 잘된 예 @NotEmpty(message="메뉴명, CMN.I0000001.usr") 잘못된 예 @NotEmpty(message=" 메뉴명, CMN.I0000001.usr") // 앞에 공백이 있으면 안된다!! 끝~ 2013. 6. 21. 이전 1 ··· 22 23 24 25 26 27 28 ··· 36 다음 반응형