본문 바로가기

분류 전체보기

어느날 잘보이던 로그가 안보일때... 정말 황당한 현상이 발생했다. 바로 직전까지 잘 보이던 로그(commons-logging-1.1.1, log4j-1.2.16)가 갑자기 안보인다. 그래서 구글링도 해보고 Apache Commons Logging(JCL), Log4j 의 문서도 찾아 봤지만 내가 설정한 것과 별반 다를것이 없었다. 무려 2시간을 이것 저것 해보다가 아래와 같은 글을 볼 수 있었다. WebSphere v7.0 에서 commons logging 이용 log4j 사용하기 commons logging을 통하여 log4j를 사용할때 클래스 로더 순서(모드)를 Parent Last로 놓아야 한다. 클래스 로더 순서에 대한 내용은 http://cafe.naver.com/devmaster/279 를 참고하세요. Parent Last로 놓.. 더보기
Eclipse Helios WTP + Maven2 Dependencies 웹 애플리케이션(war) 개발 개발환경: - Windows 7 + jdk1.6.0_24(32bit) + Tomcat 7.0.11 - Eclipse Helios SR2 WTP 3.0 + maven-3.0.3 WTP로 Dynamic Web Project를 생성하고 Maven2로 빌드 체계를 만든 목적은 변경한 내용을 즉시 확인하기 위함일 것이다. Eclipse 3.2 부터 maven 및 WTP를 통합해왔던 터라 이 기능을 활용한 개발 생산성은 아주 높았다. 그런데 Eclipse 3.6 helios 부터 이 기능에 버그가 있는 듯 하다. WTP는 워크스페이스내에 열려있는 프로젝트를 웹 애플리케이션(war)의 WEB-INF/lib 에 배포하기 위해 Deployment Assembly 라는 기능을 추가했다. 그런데 이 기능이 maven과 통합.. 더보기
SQL Server Identity Column 초기화 하기 1. DBCC CHECKIDENT 가장 쉬운방법. 하지만 테이블내에 있는 값들보다 작은 값을 설정하지 않도록 주의한다. 만약 작은 값이 설정되면 primary key violation(주키 위반)이 발생하기 때문이다. 구문: DBCC CHECKIDENT (,RESEED,) 예) DBCC CHECKIDENT ('TB_MB_MEMBER',RESEED,0) Tip. 만약 DB 소유자가 아니고 권한만 있는 경우 USE GO 명령을 사용하여 해당 DB Context로 이동한다. 2. Drop and Add the column 이 방법은 첫번째보다 조금 더 안정적인데 이유는 새로운 시드(seed)값을 자동으로 할당해 주기 때문이다. 그러나 많은 작업을 해야하고 컬럼의 순서가 변경된다. 당연한 얘기이겠지만 만약 코드.. 더보기
Artifactory 2.2.1 "Allow Anonymous Access"에 대한 고찰 메이븐을 이용하면서 레파지토리로 Nexus나 Artifactory를 이용할 수 있다. 필자의 경우 최근엔 Nexus를 이용하고 있지만 아직도 Artifactory를 사용하는 프로젝트가 많이 있어서 종종 사용하게 된다. 오늘은 다음과 같은 목적으로 Artifactory의 설정을 바꿔보았다. 1. 새로운 레파지토리가 필요하여 아이디를 지정하고 생성함. 2. 보안을 위해서 기존 사용자는 모든 레파지토리를 이용할 수 있지만 신규 사용자는 새로 만들어진 레파지토리만 이용하게하려고 함. 3. 사용자와 그룹 및 퍼미션을 생성하고 관계를 설정. 4. 생성된 레파지토리에 퍼미션을 할당함. 5. Admin -> Security -> General 메뉴에서 "Allow Anonymous Access"를 Unchecked 함.. 더보기
Adding multiple last resources is disallowed. 환경: JDK1.6.0_21 + JBoss EAP 4.3.2 + Spring 2.5.6 + iBatis 2.3.4 위의 환경에서 2개이상의 DataSource를 설정하고 JTA 트랜잭션을 설정했을 때 아래와 같은 에러가 발생했다. [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@473fc2 09:29:19,759[ERROR] (JakartaCommonsLoggingImpl.j.. 더보기
Closing a statement you left open, please do your own housekeeping 환경: JDK1.6.0_21 + JBoss EAP 4.3.2 + Spring 2.5.6 + iBATIS 2.3.4 19:50:53,405 WARN [WrappedConnection] Closing a statement you left open, please do your own housekeeping java.lang.Throwable: STACKTRACE at org.jboss.resource.adapter.jdbc.WrappedConnection.registerStatement(WrappedConnection.java:872) at org.jboss.resource.adapter.jdbc.WrappedStatement.(WrappedStatement.java:62) at org.jboss.resour.. 더보기
No JTA TransactionManager found at fallback JNDI location Jetty 6.1.11 + Spring 2.5.6에서 트랜잭션관리자를 와 같이 선언하고 로그레벨을 DEBUG 모드로 실행하면 다음과 같은 에러들을 볼 수 있다. [DEBUG] (JtaTransactionManager.java:717) - No JTA TransactionManager found at fallback JNDI location [java:comp/TransactionManager] javax.naming.NameNotFoundException; remaining name 'TransactionManager' ... [DEBUG] (JtaTransactionManager.java:717) - No JTA TransactionManager found at fallback JNDI location.. 더보기
JZ0SB: 매개변수 인덱스가 범위를 벗어났습니다. 1. iBatis + Sybase ASE 15.5 (ISO1) + JavaSE 6(JDK1.6.0_21) 환경에서... 제목과 같은 예외가 발생했다. 실행한 SQL은 다음과 같다. update IDCM..TC_CMN_CODE set code_wrth_abrv_name = '테스트' where code_id = #codeId# and code_wrth = #codeWrth# 그냥 지극히 평범한 SQL인데 왜 에러를 내는 것일까? 문제의 원인은 Encode(Charset)에 있었다. 즉, 매핑 XML이 와 같이 UTF-8으로 선언되어 있고 DB는 ISO1로 선언되어 있어서 코드를 변환했을 때 에러가 나는 것이었다. 만약 한글을 직접넣고 싶다면 UTF-8을 EUC-KR로 변경하면 정상처리된다. 더보기
iBatis + Sysbase ASE 15.5 Unicode Column CRU 검증결과 및 적용방안 1. 검증결과: JBoss WAS 에서 JDBC를 연결할 때 다음과 같이 DataSource를 생성한다. 이 내용은 JBoss에 배포할 서버의 deploy/sybase-ds.xml 의 내용중 일부이다. jdbc/KFlowDS jdbc:sybase:Tds:localhost:3000 com.sybase.jdbc3.jdbc.SybDriver eucksc … org.jboss.resource.adapter.jdbc.vendor.SybaseExceptionSorter true Sybase 여기서 핵심 내용은 JDBC의 속성중의 하나인 “CHARSET”을 “eucksc”로 설정함으로써 DB에서 읽거나 쓸 때 [iso1 : ISO-8859-1] – [eucksc: EUC-KR | KSC5601] 간 변환을 자동으로 .. 더보기
The server was expecting token 32 but got the token 33. This is an internal error. Spring 2.5.6 + 2.3.4.726 + Sybase ASE 15.5 환경에서 아래와 같은 에러가 발생했다면 데이터에 null이 들어있고 해당 값에 대한 적절한 JDBC Type을 찾지 못해서 발생하는 예외이다. Caused by: com.sybase.jdbc3.jdbc.SybSQLException: A wrong datastream has been sent to the server. The server was expecting token 32 but got the token 33. This is an internal error. at com.sybase.jdbc3.tds.Tds.a(Unknown Source) at com.sybase.jdbc3.tds.Tds.nextResult(Unknown S.. 더보기