eGovFrame 실행전 처리할 에러
JSP & Spring 2015. 6. 23. 03:17글로벌 프로퍼티 설정
- 연결하려는 데이터 소스에 맞는 설정값 입력
프로젝트 프로퍼티의 공통컴포넌트 설정에서 자동 입력 가능 - 파일 업로드 경로 설정
파일 업로드 경로를 원하는 곳으로 설정
경로는 절대경로로 지정해야하며 미리 생성해 두어야 함 - 파일 동기화 경로 설정
파일 동기화 경로를 원하는 곳으로 설정
경로는 절대경로로 지정해야하며 미리 생성해 두어야 함 - JFile 컴포넌트 설치시 경로 설정
JFile 컴포넌트로 파일 업로드 및 다운로드할 경로를 원하는 곳으로 설정
기본 값은 0.2 파일 업로드 경로와 동일하게 되어있으며
절대경로로 지정해야하며 미리 생성해 두어야 함 - 행정코드 사용시 임시 저장 경로 설정
행정코드 컴포넌트 사용시 행정코드 파일을 다운로드할 경로를 원하는 곳으로 설정
경로는 절대경로로 지정해야하며 미리 생성해 두어야 함
현재 경로 설정값의 공통 경로
D:/temp/webtest/egov/egov3.2/
우편번호 SQL ID 중복
에러 원인
/resource/egovframework/sqlmap/com/sym/ccm/zip/EgovRdnmadZip_SQL_Altibase.xml /resource/egovframework/sqlmap/com/sym/ccm/zip/EgovZipManage_SQL_Altibase.xml두 파일이 사용하는 ID가 동일하여 에러 발생
에러 처리
도로명주소용 SQL인 EgovRdnmadZip_SQL_Altibase.xml의 namespace와 id를
RdnmadZipDAO.java에서 호출하는 id로 변경
namaspace : ZipManage -> RdnmadZip (변경하지 않아도 됨)
id : ZipManageDAO -> RdnmadZipDAO
spring bean 의존성 주입 및 생성 error
에러 원인
spring 설정 파일중 id generate관련 설정 xml 파일 중 일부가 생성이 안되어
bean 생성시 의존성 주입에 에러가 발생
에러 처리
다음 두 파일을 생성하여 스프링 설정 경로에 넣어준다.
그외에 다른 파일이 미생성되었을 수 있으므로 확인이 가능하면 기록해 둘 것.
/resource/egovframework/spring/com/idgn/context-idgn-BackupOpert.xml 미생성
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <!-- 백업작업 ID --> <bean name="egovBackupOpertIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy"> <property name="dataSource" ref="egov.dataSource" /> <property name="strategy" ref="backupOpertIdStrategy" /> <property name="blockSize" value="1"/> <property name="table" value="COMTECOPSEQ"/> <property name="tableName" value="BACKUP_OPERT_ID"/> </bean> <bean name="backupOpertIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> <property name="prefix" value="BAK" /> <property name="cipers" value="17" /> <property name="fillChar" value="0" /> </bean> <!-- 백업작업 ID --> <!-- 백업결과 ID --> <bean name="egovBackupResultIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy"> <property name="dataSource" ref="egov.dataSource" /> <property name="strategy" ref="backupResultIdStrategy" /> <property name="blockSize" value="1"/> <property name="table" value="COMTECOPSEQ"/> <property name="tableName" value="BACKUP_RESULT_ID"/> </bean> <bean name="backupResultIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> <property name="prefix" value="BRT" /> <property name="cipers" value="17" /> <property name="fillChar" value="0" /> </bean> <!-- 백업결과 ID --> </beans>
/resource/egovframework/spring/com/idgn/context-idgn-ProcessMon.xml 미생성
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <!-- ProcessMon... START--> <bean name="egovProcessMonIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy"> <property name="dataSource" ref="egov.dataSource" /> <property name="strategy" ref="procManageStrategy" /> <property name="blockSize" value="1"/> <property name="table" value="COMTECOPSEQ"/> <property name="tableName" value="PROC_ID"/> </bean> <bean name="procManageStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> <property name="prefix" value="PROC_" /> <property name="cipers" value="15" /> <property name="fillChar" value="0" /> </bean> <!-- ProcessMon... END--> <!-- ProcessMonLog... START--> <bean name="egovProcessMonLogIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy"> <property name="dataSource" ref="egov.dataSource" /> <property name="strategy" ref="prolManageStrategy" /> <property name="blockSize" value="1"/> <property name="table" value="COMTECOPSEQ"/> <property name="tableName" value="PROL_ID"/> </bean> <bean name="prolManageStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> <property name="prefix" value="PROL_" /> <property name="cipers" value="15" /> <property name="fillChar" value="0" /> </bean> <!-- ProcessMonLog... END--> </beans>
/resource/egovframework/spring/com/idgn/context-idgn-Cmmnty.xml 미생성
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <bean name="egovCmmntyIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy"> <property name="dataSource" ref="egov.dataSource" /> <property name="strategy" ref="cmmntyStrategy" /> <property name="blockSize" value="10"/> <property name="table" value="COMTECOPSEQ"/> <property name="tableName" value="CMMNTY_ID"/> </bean> <bean name="cmmntyStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> <property name="prefix" value="CMMNTY_" /> <property name="cipers" value="13" /> <property name="fillChar" value="0" /> </bean> </beans>
약도관리 쿼리 에러
에러 원인
/resource/egovframework/sqlmap/com/uss/ion/rmm/EgovRoughMap_SQL_Altibase.xml
파일에 다음과 같은 에러 구문이 존재
- DATE_FORMAT 함수
- 파일내에 아이디 RoughMapDAO.selectRoughMapList 쿼리문 중에 DATE_FORMAT 함수는
Altibase에 정의되어 있는 함수가 아니어서 쿼리 실행시 에러 발생 - LIMIT - OFFSET 구문
- 파일내에 아이디 RoughMapDAO.selectRoughMapList 쿼리문 중에 LIMIT OFFSET 구문은
Altibase에서 구문 사용법이 틀리므로 수정하여 함
에러 처리
- DATE_FORMAT 함수
- Altibase에 정의되어 있는 TO_CHAR 함수로 대체
DATE_FORMAT(LAST_UPDT_PNTTM,'%Y-%m-%d') LAST_UPDT_PNTTM
구문을 아래 구문으로 대체TO_CHAR(LAST_UPDT_PNTTM,'YYYY-MM-DD') LAST_UPDT_PNTTM
- LIMIT - OFFSET 구문
LIMIT #recordCountPerPage# OFFSET #firstIndex#
구문을 아래 구문으로 대체LIMIT #recordCountPerPage# , #firstIndex#
수정된 소스
<select id="RoughMapDAO.selectRoughMapList" parameterClass="RoughMapSearchVO" resultClass="egovMap" > <![CDATA[ SELECT ROUGHMAP_ID, ROUGHMAPSJ, ROUGHMAPADDRESS, TO_CHAR(LAST_UPDT_PNTTM,'YYYY-MM-DD') LAST_UPDT_PNTTM FROM COMTNROUGHMAP WHERE 1 = 1 ]]> <isEqual prepend="AND" property="searchCondition" compareValue="roughMapSj"> <![CDATA[ROUGHMAPSJ LIKE CONCAT ('%', #searchKeyword#,'%')]]> </isEqual> <isEqual prepend="AND" property="searchCondition" compareValue="roughMapAddress"> <![CDATA[ROUGHMAPADDRESS LIKE CONCAT ('%', #searchKeyword#,'%')]]> </isEqual> <![CDATA[ ORDER BY ROUGHMAP_ID DESC ]]> <isEqual property="searchUseYn" compareValue=""> <![CDATA[LIMIT #recordCountPerPage# , #firstIndex#]]> </isEqual> </select>
아이디 중복 체크 쿼리 에러 - ver3.2에서 수정됨
에러 원인
아이디 중복 체크에서 mberManageDAO.checkIdDplct_S 쿼리를 호출하여 중복 여부를 검사
쿼리 중 위의 쿼리 아이디는 정의되어 있지 않으며 userManageDAO.checkIdDplct_S 쿼리 존재
쿼리 구문은 동일하며 정의되어 있는 쿼리를 복사하여 아이디를 수정하면 정상 작동함
에러 처리
/resource/egovframework/sqlmap/uss/umt/EgovMberManage_SQL_Altibase.xml 파일에 아래 구분 추가
<select id="mberManageDAO.checkIdDplct_S" resultClass="int"> <![CDATA[ SELECT COUNT(1) usedCnt FROM( SELECT EMPLYR_ID userId FROM COMTNEMPLYRINFO UNION ALL SELECT ENTRPRS_MBER_ID userId FROM COMTNENTRPRSMBER UNION ALL SELECT MBER_ID userId FROM COMTNGNRLMBER ) A WHERE userId = #checkId# ]]> </select>
기업회원 정보 조회 및 수정
에러 원인
/resources/egovframework/sqlmap/com/uss/umt/EgovEntrprsManage_SQL_Altibase.xml 파일의
아이디 entrprsManageDAO.selectEntrprs_S의 쿼리 구문의 문법 오류
에러 처리
구문 오류를 다음과 같이 수정함
, 로 끝나는 곳을 ", 로 수정
수정된 소스
<select id="entrprsManageDAO.selectEntrprs_S" resultClass="entrprsVO"> <![CDATA[ SELECT ESNTL_ID as "uniqId", 'USR02' as "userTy", ENTRPRS_MBER_ID as "entrprsmberId", ENTRPRS_SE_CODE as "entrprsSeCode", BIZRNO as "bizrno", JURIRNO as "jurirno", CMPNY_NM as "cmpnyNm", CXFC as "cxfc", ZIP as "zip", ADRES as "adres", ENTRPRS_MIDDLE_TELNO as "entrprsMiddleTelno", FXNUM as "fxnum", INDUTY_CODE as "indutyCode", APPLCNT_NM as "applcntNm", SBSCRB_DE as "sbscrbDe", ENTRPRS_MBER_STTUS as "entrprsMberSttus", ENTRPRS_MBER_PASSWORD as "entrprsMberPassword", ENTRPRS_MBER_PASSWORD_HINT as "entrprsMberPasswordHint", ENTRPRS_MBER_PASSWORD_CNSR as "entrprsMberPasswordCnsr", GROUP_ID as "groupId", DETAIL_ADRES as "detailAdres", ENTRPRS_END_TELNO as "entrprsEndTelno", AREA_NO as "areaNo", APPLCNT_IHIDNUM as "applcntIhidnum", APPLCNT_EMAIL_ADRES as "applcntEmailAdres" FROM COMTNENTRPRSMBER WHERE ESNTL_ID=#uniqId# ]]> </select>
중복된 값을 기록하려는 에러
에러 원인
/resourcesegovframework/sqlmap/com/sts/ust/EgovBbsStats_SQL_Altibase.xml
파일의 아이디 BbsStatsDAO.summaryBbsStats
/resourcesegovframework/sqlmap/com/sts/ust/EgovUserStats_SQL_Altibase.xml
파일의 아이디 UserStatsDAO.summaryUserStats
위 두 쿼리에서 중복된 PK의 데이터를 추가하려는 쿼리를 실행하여 발생
스프링 설정의 context-scheduling.xml에서 24시간 또는 12시간,
서버 구동후 2분뒤에 호출(SimpleTrigger 방식)하여 발생하며
테스트용으로 설정되어 있는 값으로 실제 운영시에는
24시간마다 1회 호출(CronTrigger방식)하도록 변경하여야 한다.
에러 처리
/resourcesegovframework/sqlmap/com/sts/ust/EgovBbsStats_SQL_Altibase.xml 파일을 아래처럼 수정
<!-- 게시판 통계 트리거 정의 --> <bean id="bbsStatsTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="bbsStats" /> <!-- 시작하고 2분후에 실행한다. (milisecond) --> <property name="startDelay" value="120000" /> <!-- 매 24시간마다 실행한다. (milisecond) --> <property name="repeatInterval" value="86400000" /> </bean>
/resourcesegovframework/sqlmap/com/sts/ust/EgovUserStats_SQL_Altibase.xml 파일을 아래 코드를 참조하여 변경
<bean id="bbsStatsTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="bbsStats" /> <!-- 매일 04시 30분에 실행 --> <property name="cronExpression" value="0 30 04 * * ?" /> </bean>
'JSP & Spring' 카테고리의 다른 글
eGovFrame 3.2 쿼리 정리 (0) | 2015.06.23 |
---|---|
eGovFrame GPKI 라이브러리 미발급 상태에서 개발 진행시 (1) | 2015.06.23 |
eGovFrame 아이디 제너레이트 설정 파일 (0) | 2015.06.23 |
eGovFrame 공통 컴포넌트 sql 수정 (0) | 2015.06.23 |
eGovFrame accessDenied.jsp 파일에서 import class 에러 (0) | 2015.06.23 |