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 |
