[전자정부 표준프레임워크]에 배치관리가 있어서 생성을 해봤습니다.
테이블도 생성하고 완료를 한 후에 톰캣을 restart해보니 아래와 같은 에러가 발생했습니다.
왜 이런 에러가 발생하는 걸까요?
에러가 나는 'egovBatchOpertIdGnrService'로 검색을 해보니 context-scheduling-sym-bat.xml 파일에 아래와 같이 정의가 돼 있습니다.
<bean id="batchScheduler" class="egovframework.com.sym.bat.service.BatchScheduler" init-method="init" destroy-method="destroy">
<property name="egovBatchSchdulService" ref="egovBatchSchdulService"/>
<property name="idgenService" ref="egovBatchResultIdGnrService" />
</bean>
idgenService를 사용하겠다고 정의는 했는데요. context-idgn-***.xml 파일은 생성이 안돼 있네요.
전자정부 프레임워크 사이트에 가서 확인을 해보니 context-idgn-***.xml 파일을 하나 생성하고 내용을 추가하면 된다고 합니다.
그래서, resource/egovframework/spring/com/scheduling 폴더 아래에 context-idgn-schedule.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="egovBatchOpertIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="batchOpertIdStrategy" />
<property name="blockSize" value="1"/>
<property name="table" value="COMTECOPSEQ"/>
<property name="tableName" value="BATCH_OPERT_ID"/>
</bean>
<bean name="batchOpertIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
<property name="prefix" value="BAT" />
<property name="cipers" value="17" />
<property name="fillChar" value="0" />
</bean>
<!-- 배치작업 ID -->
<!-- 배치스케줄 ID -->
<bean name="egovBatchSchdulIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="batchSchdulIdStrategy" />
<property name="blockSize" value="1"/>
<property name="table" value="COMTECOPSEQ"/>
<property name="tableName" value="BATCH_SCHDUL_ID"/>
</bean>
<bean name="batchSchdulIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
<property name="prefix" value="BSC" />
<property name="cipers" value="17" />
<property name="fillChar" value="0" />
</bean>
<!-- 배치스케줄 ID -->
<!-- 배치결과 ID -->
<bean name="egovBatchResultIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="batchResultIdStrategy" />
<property name="blockSize" value="1"/>
<property name="table" value="COMTECOPSEQ"/>
<property name="tableName" value="BATCH_RESULT_ID"/>
</bean>
<bean name="batchResultIdStrategy" 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>
로그인하고 들어가면 배치관리 메뉴가 보입니다.
[전자정부 표준프레임워크]가 참 많은 컴포넌트를 만들어 놓아서 사용할 때 편리하긴 한데요.
하나 추가할 때마다 에러가 발생할 때가 많고, 디자인도 엉성해서 좀 아쉬울 때가 많네요.
개발자들을 위해서 조금만 더 신경 써주면 좋겠다는 생각을 해봅니다.