Anyframe Core
본 페이지를 통해 Anyframe Core의 모든 버전별 릴리즈 라이브러리들을 다운로드받을 수 있다. Download(Binary)를 통해 다운로드된 zip 파일은 기본적으로 Anyframe 릴리즈 라이브러리, 3rd-party 라이브러리만을 포함하며, 소스 파일 필요시 Download(Source)를 이용하면 된다.
다음은 다운로드 가능한 Anyframe Core의 버전 목록이다.
* Anyframe Core의 버전은 major.minor.point로 구성되어 있으며, point 버전이 업그레이드되었을 경우에는 최신에 대해서만 다운로드가 제공된다.
Anyframe Core 3.2.1
Anyframe Core 3.2.1의 주요 변경 사항은 다음과 같다.
- 소스 코드 및 테스트 코드 변경
- QueryService 기능 추가에 따른 테스트 코드 추가
- QueryService를 거치지 않고 직접적으로 PagingJdbcTemplate 또는 PagingNamedParamJdbcTemplate을 사용하는 경우 데이터 접근 로직 처리를 지원하기 위해 일부 메소드 추가 및 modifier 변경
- PagingJdbcTemplate - public List query(String sql, PreparedStatementSetter pss , RowMapper rowMapper, PaginationVO context) 메소드 추가
- PagingJdbcTemplate - executeCountSQL method public 으로 수정
- PagingNamedParamJdbcTemplate - public List query(String sql, Map data, RowMapper rowMapper , PaginationVO paginationVO) 메소드 추가
- 대량의 데이터 건수를 처리할 수 있도록 하기 위해 PaginationVO 클래스 내에 정의된 recordCount의 클래스 타입을 int에서 long으로 변경
- 참조 라이브러리 변경
- 기존의 aspectjrt-1.5.4.jar 파일이 aspectjrt-1.6.4.jar 파일로 버전 업그레이드
- 기존의 aspectjtools-1.6.4.jar 파일이 aspectjtools-1.6.4.jar 파일로 버전 업그레이드
- 기존의 aspectjweaver-1.6.4.jar 파일이 aspectjweaver-1.6.4.jar 파일로 버전 업그레이드
- 기존의 commons-dbcp-1.2.1.jar 파일이 commons-dbcp-1.2.2.jar 파일로 버전 업그레이드
- 기존의 commons-logging-1.0.4.jar 파일이 commons-logging-1.1.1.jar 파일로 버전 업그레이드
- 기존의 commons-pool-1.3.jar 파일이 commons-pool-1.4.jar 파일로 버전 업그레이드
- 기존의 hibernate-3.2.6.ga.jar 파일이 hibernate-3.3.1.GA.jar 파일로 버전 업그레이드
- 기존의 infrared-agent-2.5.BETA.jar 파일의 버그를 개선한 infrared-agent-servlet-all-2.5.BETA.jar 파일로 변경
- impala-build-1.0M3.jar 파일이 추가됨
- impala-command-1.0M3.jar 파일이 추가됨
- impala-core-1.0M3.jar 파일이 추가됨
- impala-interactive-1.0M3.jar 파일이 추가됨
- impala-jmx-1.0M3.jar 파일이 추가됨
- impala-web-1.0M3.jar 파일이 추가됨
- appfuse-data-common-2.0.2.jar 파일이 추가됨
- appfuse-service-2.0.2.jar 파일이 추가됨
- appfuse-spring-2.0.1.warpath.jar 파일이 추가됨
- hibernate-annotations-3.4.0.GA.jar 파일이 추가됨
- hibernate-commons-annotations-3.1.0.GA.jar 파일이 추가됨
- javassist-3.8.0.GA.jar 파일이 추가됨
- spring-agent-2.5.6.jar 파일이 추가됨
- spring-aspects-2.5.6.jar 파일이 추가됨
- spring-modules-validation-0.7.jar 파일이 추가됨
- org.aspectj.matcher-1.6.4.jar 파일이 추가됨
- adapter-core-1.2.jar 파일이 추가됨
- beanlib-5.0.1beta.jar 파일이 추가됨
- beanlib-hibernate-5.0.1beta.jar 파일이 추가됨
- hibernate-util-1.2.jar 파일이 추가됨
- jboss-serialization-1.0.1.GA.jar 파일이 추가됨
- trove-1.0.2.jar 파일이 추가됨
- xstream-1.3.jar 파일이 추가됨
- ojdbc14.jar 파일 삭제됨
- 추가된 기능
- Generic Type을 통해 POJO에 대한 기본 CRUD 기능을 수행하는 서비스 클래스들을 제공하며 QueryService 혹은 Hibernate/JPA을 사용한 DAO 클래스들도 함께 제공(JDK 1.5 이상의 환경에서 사용 가능)
- WAS 재기동 없이 클래스나 JAR 파일 단위의 Dynamic Reloading 기능을 제공하는 서비스가 추가됨(JDK 1.5 이상의 환경에서 사용 가능)
- QueryService : DBMS 유형이 알티베이스인 경우 페이징 처리를 위한 SQL Generator 추가
- Query 서비스를 통해 조회문 수행 결과를 특정 객체에 담을 때, 칼럼명을 매핑시키기 위한 속성으로 mappingStyle 추가
(isCamelCase의 경우 camel-case 적용 여부만을 판별할 수 있으나 mappingStyle은 camel, lower, upper, none 중 선택 가능) - QueryService : VO 객체 내에 또다른 VO가 포함되어 있을 경우 Result Mapping 처리 지원
- PagingJdbcTemplate에 maxFetchSize 속성값을 부여한 경우 전체 조회한 데이터의 건수가 maxFetchSize보다 큰 경우 Exception 처리하게 함으로써 코드에 많은 건수의 조회 수행시 fetch count 제약기능 추가
- 해결된 이슈 목록
- [CORE-115] 조회 쿼리서비스 이용시 로깅 문제
- [CORE-114] 쿼리서비스에서 Result되는 키값의 타입에 대한 확장 요청
- [CORE-113] 쿼리서비스 mapping 파일내 velocity 문법 문의
- [CORE-112] 알티베이스를 위한 PagingSqlGenerator 추가 요청
- [CORE-111] QueryService batchUpdate return 값이 -2인 문제
- [CORE-108] Query 서비스를 통한 목록 조회시 불필요한 로직 수행
- [CORE-107] QueryService 페이징 처리 로직 수정
- [CORE-106] QueryService 확장 JdbcTemplate 기능 추가 요청
- [CORE-104] QueryService Result Mapping 수행시 Result Class 내에 정의된 VO 유형의 속성 처리 지원
Download(Binary) | Download(Source) | ReleaseNote
Anyframe Core 3.2.0
Anyframe Core 3.2.0의 주요 변경 사항은 다음과 같다.
- 소스 코드 및 테스트 코드 변경
- QueryService, ExtendedQueryService 통합 및 코드 리팩토링 수행
- 상용 X-Internet 제품 연계를 위한 QueryService 확장 기능 보완 및 실행을 위한 테스트 코드 추가
- QueryService를 보다 편리하게 사용할 수 있도록 AbstractDAO 클래스 제공 (ExtendedQueryService에서 제공하던 AbstractDAO 대신 사용)
- QueryService Refactoring 결과를 기반으로 테스트 코드 보완 및 추가
- Transaction 서비스를 이용한 선언적/프로그램적 트랜잭션 관리 테스트 코드 추가
- 참조 라이브러리 변경
- 기존의 Spring Framework 2.5.2를 2.5.6으로 버전 업그레이드
- Dynamic Query 생성시 Orbroker 확장 클래스가 아닌 Velocity를 직접 사용하도록 로직을 변경함으로써
anyframe.osgi.net.sourceforge.orbroker-2.0.3.jar 제거 - 불필요한 로그 메시지를 남기는 slf4j-jdk14-1.5.3.jar 파일 제거됨
- 기존의 quartz-1.5.0.jar 파일이 quartz-1.6.4.jar 파일로 버전 업그레이드
- 기존의 commons-beanutils-1.7.0.jar 파일이 commons-beanutils-1.8.0.jar 파일로 버전 업그레이드
- 기존의 commons-digester-1.7.jar 파일이 commons-digester-1.8.jar파일로 버전 업그레이드
- Apache CXF 버전을 기존의 2.1.1에서 2.1.3으로 버전 업그레이드함으로써 참조 라이브러리들의 버전 변경 및 추가(아래 항목들에 해당)
- 기존의 cxf-2.1.1.jar, cxf-manifest-2.1.1.jar 파일이 cxf-2.1.3.jar, cxf-manifest-2.1.3.jar 파일로 버전 업그레이드
- 기존의 jaxb-impl-2.1.6.jar 파일이 jaxb-impl-2.1.7.jar 파일로 버전 업그레이드
- 기존의 jaxb-xjc-2.1.6.jar 파일이 jaxb-xjc-2.1.7.jar 파일로 버전 업그레이드
- 기존의 jsr311-api-0.6.jar 파일이 jsr311-api-0.8.jar 파일로 버전 업그레이드
- 기존의 saaj-impl-1.3.jar 파일이 saaj-impl-1.3.2.jar 파일로 버전 업그레이드
- 기존의 velocity-1.4.jar 파일이 velocity-1.5.jar 파일로 버전 업그레이드
- 기존의 wsdl4j-1.6.1.jar 파일이 wsdl4j-1.6.2.jar 파일로 버전 업그레이드
- 기존의 wstx-asl-3.2.4.jar 파일이 wstx-asl-3.2.6.jar 파일로 버전 업그레이드
- 기존의 xalan-2.7.0.jar 파일이 xalan-2.7.1.jar 파일로 버전 업그레이드
- serializer-2.7.1.jar 파일이 추가됨
- 추가된 기능
- 기존 ExtendedQueryService에서 제공하던 기능을 QueryService 내로 통합 (Named Parameter 'vo' 사용, AbstractDAO 클래스 등)
- 조회 쿼리문 수행 결과를 QueryService를 통해 자동 처리하지 않고, 사용자가 별도 정의한 ResultSetMapper를 통해 처리할 수 있도록 지원
- 해결된 이슈 목록
- [CORE-99] SQL Dynamic reload 중 Watcher rebuild 로직 보완
- [CORE-94] ResultSetMapper 기능 지원
- [CORE-93] sqlload dynamic="true" 일때 frequency가 제대로 셋팅되지 않는 현상 조치
- [CORE-92] MiPQueryService사용 시 Mapping XML파일에 정의 되어 있는 파라미터가 Dataset에 없을 경우 NullPointerException 발생 처리
- [CORE-90] QueryService에서 마지막 이전 페이지 조회시 마지막 페이지가 조회되는 현상 조치
- [CORE-88] findXXX() 메소드를 통해 질의 수행시 pageSize 값을 셋팅하지 않았을 경우 에러 조치
- [CORE-86] Extended QueryService 사용 시 주석에 : 있으면 발생하는 에러 조치
- [CORE-81] Apache CXF 사용 시 Schema name conflict in collection Error 발생하는 문제 해결
- [CORE-82] Maven을 사용하여 테스트케이스 수행 시 RESTful Web Service 호출 시 데이터가 서버에 전달되지 않는 에러 해결
- [CORE-80] MipSQLService 사용 중 String을 정수형태 자동 변환 처리
- [CORE-79] velocityPropsFilename 속성이 정의된 경우 해당 위치에 Velocity 로그 파일 생성하되, classpath 또는 상대 경로를 이용하여 정의할 수 있도록 변경함. 또한 velocityPropsFilename 속성이 정의되지 않은 경우 Velocity 로그 파일 생성하지 않도록 함.
- [CORE-78] mySQL 데이터 베이스 사용시 create(VO객체) 사용시 null 과 '' 의 차이로 인한 오류 조치
- [CORE-77] Apache CXF를 사용하여 웹서비스 사용 시 Marshalling Error 발생하는 문제 해결
- [CORE-75] MIPSQLService 사용중 update시 Dataset ConstColumn 값 사용 안되는 문제 조치
- [CORE-74] MIPSQLService 사용시 QueryId 없을 때 잘못된 에러 메시지가 발생하는 문제 해결
- [CORE-73] Jeus JDNI DataSoruce 상에서 DriverSpy 사용하기 위한 방법을 매뉴얼 내에 추가 기술
- [CORE-71] velocity.log 파일 위치 변경에 대한 내용 매뉴얼 내에 기술
- [CORE-70] MIPlatform rowcount가 0인경우 헤더 정보가 사라지는 현상 조치
- [CORE-69] JNDI DataSource (Jeus)에서 DriverSpy를 사용하기 위한 방법 매뉴얼에 상세 기술
- [CORE-68] SQLLoader가 찾아낸 SQL 개수가 제대로 표시되도록 조치
- [CORE-67] TableIdGenerationService에서 ResultSet을 Close하도록 조치
- [CORE-66] MIPSQLService 에서 queryId를 찾지 못하는경우 NullPointerException 발생 오류 조치
- [CORE-65] OraclePagingSQLGenerator 사용시 SQL 에러 발생 조치
- [CORE-64] Oracle RefCursor 리턴 오류 조치
- [CORE-63] QueryService Refactoring
- [CORE-62] HSQL DB에 맞는 SQL Generator 생성
- [CORE-59] DB2 용으로 만들어진 SQLGenerator 에 대한 오류 확인
- [CORE-58] QueryService의 매핑 XML 파일이 JAR 내에 포함되어 있을 경우 매핑 XML 파일 인식
- [CORE-57] Page Navigator Tag 사용시 PageUnit에 대한 음수 처리
- [CORE-56] DBMS가 DB2일 경우 QueryService 실행을 위한 SQLGenerator 지원
[참고] Anyframe Core 3.2.0은 최신 point 버전인 Anyframe Core 3.2.1을 다운로드하여 사용하시면 됩니다.
Anyframe Core 3.1.0
Anyframe Core 3.1.0의 주요 변경 사항은 다음과 같다.
- Anyframe Core 기능에 Hibernate과 Spring Security/Remoting, Web Services 기능 추가
- 소스 코드 및 테스트 코드 변경
- Hibernate, Spring Remoting, Web Services 실행을 위한 테스트 코드 추가
- Anyframe Portal에 anyframe-service-2.0.xsd, anyframe_core_query_mapping.dtd 파일을 등록함으로써, 브라우저를 통해 XSD 및 DTD 파일 조회 가능하도록 처리. 이로 인해 XSD 및 DTD 파일 선언 부분 변경
- Hibernate를 Wrapping하는 ICommonService 제거되고 순수하게 Hibernate API를 이용하여 개발할 수 있도록 가이드함
- 참조 라이브러리 변경
- spring-security-acl-2.0.3.jar, spring-security-core-2.0.3.jar, spring-security-core-tiger-2.0.3.jar 추가됨
- 사용하지 않는 mx4j-3.0.1.jar 파일 제거됨
- 기존의 hibernate-3.1.jar 파일이 hibernate-3.2.6.ga.jar 파일로 버전 업그레이드
- 기존의 hsqldb-1.8.0.4.jar 파일이 hsqldb-1.8.0.10.jar 파일로 버전 업그레이드
- 기존의 slf4j-api-1.4.3.jar, slf4j-log4j12-1.4.3.jar 파일이 slf4j-api-1.5.3.jar, slf4j-log4j12-1.5.3.jar 파일로 업그레이드되고 slf4j-jdk14-1.5.3.jar 파일이 추가됨
- 기존의 log4jdbc3-1.1.jar 파일의 버전 업그레이드(실제 클래스들의 버전이 1.1beta1로 업그레이드되었으나 파일명은 동일함)
- 기존의 antlr-2.7.5H3.jar 파일이 antlr-2.7.6.jar 파일로 버전 업그레이드
- Web Services 기능을 위해 Apache CXF에서 참조하는 라이브러리들이 추가됨
- 추가된 기능
- 입력 조건에 따라 실행 대상인 HQL이 Dynamic하게 생성될 수 있게 하는 DynamicHibernateService 추가
- OSCache에서 분산 Cache의 Event 처리를 위해 제공하는 JMSBroadcastingListener의 취약점을 보완한 anyframe.core.cache.impl.JMSBroadcastingListener 추가
- log4jdbc3 라이브러리 업그레이드에 따라 AnyFrameDataSourceSpy 대신 log4jdbc3의 DriverSpy를 통해 SQL에 대한 Logging을 남길 수 있도록 가이드
- Web Service 클라이언트와 서버 구현 시 일관성있게 구동시킬 수 있는 기능 추가
- 해결된 이슈 목록
- [CORE-55] DB2 데이터베이스에서 Table Id Gen. Service 사용 시 Id 관리 테이블에 대해 UPDATE 구문에서 next_id 컬럼은 숫자 format인데, 스트링 format으로 값을 SET하고 있어서 UPDATE 구문에서 '' 제거하여해결함
- [CORE-52] Connection Pool을 기반으로 한 JDBCAppender 활용 방안 제시
- [CORE-50] ID Generation 서비스의 ID Generation Strategy 관련 문의
- [CORE-49] 애니프레임 라이브러리 업그레이드 이후 isdynamic 이 ture인 경우 CUD 쿼리 수행 실패하는 문제 해결
- [CORE-48] DB Charset이 US7ASCII이면 쿼리된 결과가 깨지는 현상 제거
- [CORE-43] batchUpdate 이용시 Exception발생시 로그를 남기도록 로직 변경
- [CORE-39] 마이플랫폼에서 리턴되는 Dataset 의 Rowcount가 0인 경우 Dataset의 헤더 정보가 사라지지 않도록 processMetaData() 에 메타정보 처리 추가
- [CORE-37] LONGVARCHAR 사용시 2000 byte 이상 저장이 안되는 현상에 대한 문의
- [CORE-34] Dynamic Query 사용 시에 foreach 구문을 이용한 where 절에 IN 조건 사용방법에 대한 문의
- [CORE-31] Anyframe 다이나믹 sql 문 사용시 한글깨지는 현상 해결
- Anyframe Core 3.0.1 기반의 어플리케이션을 3.1.0 기반으로 전환할 때 고려 사항
본 사이트의 포럼(http://www.anyframejava.org/node/588#comment-158)을 참고하세요.
Download(Binary) | Download(Source) | ReleaseNote
Anyframe Core 3.0.1
Anyframe Core 3.0.1의 주요 변경 사항은 다음과 같다.
- Anyframe Core 3.0.0 에서 일부 소스의 저작자명이 누락되어 모든 소스에 저작자 명시
- 소스 코드 및 테스트 코드 변경
- anyframe.common.util.AnyFrameProperties 클래스를 제거하고 이를 사용하는 PropertiesService 구현 클래스 내에서 org.apache.commons.collections.ExtendedProperties를 사용하여 Property 파일 관리하도록 로직을 변경, PropertiesService를 사용하는 개발자는 기존과 다름없이 PropertiesService 사용 가능
- anyframe.common 패키지 내에 속한 일부 클래스를 테스트하기 위해 사용한 Spring Framework의 테스트 코드를 제거, 테스트 코드를 직접 개발하여 추가
- 참조 라이브러리 변경
- 기존의 cglib-nodep-2.1.3.jar 파일이 cglib-nodep-2.2.jar 파일로 버전 업그레이드(2.1.3 버전의 파일을 그대로 사용하여도 가능함)
- 모든 소스 코드를 Maven Project 기반으로 패키징
- 추가된 기능
- 일반 Java 객체 형태(VO/Map)로 데이터의 변환없이 Gauce DataSet 기반으로 직접 처리가 가능한 GauceSQLService 추가 (데이터 변환 작업의 부하를 제거하여 성능을 높일 수 있으며 기존 Gauce API 를 사용하여 서버단 개발을 하던 경우에 선호하는 방식)
- 해결된 이슈 목록
- [CORE-36] 확장 쿼리서비스를 사용하여 조회된 건수가 없는 경우 가우스 메타정보가 생성 처리
- [CORE-35] Extended QueryService의 findWithColInfo 오류 해결
- [CORE-30] MIPSQLService의 LobHandler 관련 오류 해결
- [CORE-29] AbstractQueryService에서 velocity.properties 파일을 이용하여 velocity.log 생성하도록 처리
Download(Binary) | Download(Source) | ReleaseNote
Anyframe Core 3.0.0
Anyframe Core 3.0.0의 주요 변경 사항은 다음과 같다.
- 소스 코드 패키지 변경 (systemier -> anyframe)
- Oracle8i에서도 LOB 타입 데이터를 처리할 수 있도록 기능 개선
- Oracle DB 이용시 rowseq에 대해 바인드변수 처리를 수행함으로써 QueryService 성능 개선
[참고] Anyframe Core 3.0.0은 최신 point 버전인 Anyframe Core 3.0.1을 다운로드하여 사용하시면 됩니다.

