요즘은 iBATIS에서 ResultSetMetadata 값을 함께 받아오기 위해 aspectj로 처리를 테스트하고 있습니다.
테스트하는 동안 오픈소스 프로젝트의 소스를 건드리지 않는다는 원칙 하에 LTW를 하고 있었으나 애플리케이션 로딩 시간이 지나치게 길어지는 단점이 있어 다시 컴파일 타임에 weaving하기로 했습니다.
아래 pom.xml 설정을 보시면 weaving 결과물로 ibatis-sqlmap.jar에 포함된 클래스 전체가 나오기 때문에 원본 jar는 war 패키지에서 제외시켜버렸습니다. (이렇게 하지 않으면 실행환경에 따라 충돌이 일어날 수 있습니다.)
maven 프로젝트인 경우에는 아래와 같이 설정하면 되지만 eclipse project style로 하자면 미리 weaving 된 ibatis-sqlmap.jar artifact를 배포해서 사용하도록 해야겠습니다.
.
.
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-sqlmap</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
.
.
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<weaveDependencies>
<weaveDependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-sqlmap</artifactId>
</weaveDependency>
</weaveDependencies>
<complianceLevel>${java.version}</complianceLevel>
<encoding>${encoding}</encoding>
<source>${java.version}</source>
<target>${java.version}</target>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
.
.

iBATIS sqlmap jar weaving
-
http://www.expertvill.net/tc/jcfblog/trackback/57









2008/02/18 16:14
ibatis


1.7로 업그레이드.
Automatically reloading iBATI...
