crypto 간소화 서비스 중 에러가 납니다. (3)
- 작성자 :
- 김*섭
- 작성일 :
- 2019-09-18 10:15:19
- 조회수 :
- 1,969
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
수고 많으십니다.
<bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="useCodeAsDefaultMessage">
<value>true</value>
</property>
<property name="basenames">
<list>
<value>classpath:/egovframework/egovProps/globals</value>
</list>
</property>
</bean>
메세지 부분을 context-crypto.xml에 추가하였으나, 기존에 있던 context-common.xml에 존재하는
<!-- 국제화 Message 설정 -->
<bean id="messageSource" class="egovframework.com.cmm.util.EgovWildcardReloadableResourceBundleMessageSource">
<property name="egovBasenames">
<list>
<value>classpath*:egovframework/message/com/**/*</value>
<value>classpath:/egovframework/rte/fdl/idgnr/messages/idgnr</value>
<value>classpath:/egovframework/rte/fdl/property/messages/properties</value>
<value>classpath:/egovframework/egovProps/globals</value>
</list>
</property>
<property name="cacheSeconds">
<value>60</value>
</property>
</bean>
<bean id="egovMessageSource" class="egovframework.com.cmm.EgovMessageSource">
<property name="reloadableResourceBundleMessageSource">
<ref bean="messageSource" />
</property>
</bean>
이부분과 충돌이 나면서 서버가 실행이 되지 않습니다.
그래서 context-crypto.xml 부분에 추가했던 메세지 빈 네임을 messageSource에서 messageSource2로 리네임 한 뒤
서버를 실행 시키면 정상적으로 돌아 가기는 하지만, 메세지를 찾을수 없다는 에러가 동일하게 발생합니다.
해결방안 부탁드립니다.
감사합니다.
<bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="useCodeAsDefaultMessage">
<value>true</value>
</property>
<property name="basenames">
<list>
<value>classpath:/egovframework/egovProps/globals</value>
</list>
</property>
</bean>
메세지 부분을 context-crypto.xml에 추가하였으나, 기존에 있던 context-common.xml에 존재하는
<!-- 국제화 Message 설정 -->
<bean id="messageSource" class="egovframework.com.cmm.util.EgovWildcardReloadableResourceBundleMessageSource">
<property name="egovBasenames">
<list>
<value>classpath*:egovframework/message/com/**/*</value>
<value>classpath:/egovframework/rte/fdl/idgnr/messages/idgnr</value>
<value>classpath:/egovframework/rte/fdl/property/messages/properties</value>
<value>classpath:/egovframework/egovProps/globals</value>
</list>
</property>
<property name="cacheSeconds">
<value>60</value>
</property>
</bean>
<bean id="egovMessageSource" class="egovframework.com.cmm.EgovMessageSource">
<property name="reloadableResourceBundleMessageSource">
<ref bean="messageSource" />
</property>
</bean>
이부분과 충돌이 나면서 서버가 실행이 되지 않습니다.
그래서 context-crypto.xml 부분에 추가했던 메세지 빈 네임을 messageSource에서 messageSource2로 리네임 한 뒤
서버를 실행 시키면 정상적으로 돌아 가기는 하지만, 메세지를 찾을수 없다는 에러가 동일하게 발생합니다.
해결방안 부탁드립니다.
감사합니다.
A
안녕하십니까, 표준프레임워크센터입니다.
현재 참고하시는 위키가이드는
src/test/java와 src/test/resources 부분에서 키를 생성해서 프로젝트 내 src/main 부분에 적용시키는 겁니다.
당연히 main 부분에서 키를 만들려고 하면, 충돌이 납니다. 같은 빈 및 설정이 중복되기 때문이죠...
설정을 현재 src/main/java와 src/main/resources쪽에 적용을 하셔서 java application으로 키를 만드시려면, 프로젝트를 변경하셔야됩니다.
실행환경은 프로젝트에서 키 값을 분리하는 부분으로 별도로 test 부분에 적용하도록 소스 및 가이드를 제공하고 있습니다.
key값은 test 부분에서 만들게 해놓았으니, test 부분에서 설정 후 키를 만드신 후
main 리소스 및 자바 부분에
globals.proeprties에 암호화 값 적용
context-crpyto.xml에
<egov-crypto:config id="egovCryptoConfig"
initial="true"
crypto="true"
algorithm="SHA-256"
algorithmKey="알고리즘키값"
algorithmKeyHash="키해쉬값"
cryptoBlockSize="1024"
/>
적용 데이타소스 쪽에 (ex.mysql)
<beans profile="mysql">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="#{egovEnvCryptoService.decrypt('${Globals.mysql.DriverClassName}')}"/>
<property name="url" value="#{egovEnvCryptoService.getUrl()}" />
<property name="username" value="#{egovEnvCryptoService.getUsername()}" />
<property name="password" value="#{egovEnvCryptoService.getPassword()}" />
</bean>
로 메인에 세 개의 파일만 적용하시면 됩니다.
감사합니다.
현재 참고하시는 위키가이드는
src/test/java와 src/test/resources 부분에서 키를 생성해서 프로젝트 내 src/main 부분에 적용시키는 겁니다.
당연히 main 부분에서 키를 만들려고 하면, 충돌이 납니다. 같은 빈 및 설정이 중복되기 때문이죠...
설정을 현재 src/main/java와 src/main/resources쪽에 적용을 하셔서 java application으로 키를 만드시려면, 프로젝트를 변경하셔야됩니다.
실행환경은 프로젝트에서 키 값을 분리하는 부분으로 별도로 test 부분에 적용하도록 소스 및 가이드를 제공하고 있습니다.
key값은 test 부분에서 만들게 해놓았으니, test 부분에서 설정 후 키를 만드신 후
main 리소스 및 자바 부분에
globals.proeprties에 암호화 값 적용
context-crpyto.xml에
<egov-crypto:config id="egovCryptoConfig"
initial="true"
crypto="true"
algorithm="SHA-256"
algorithmKey="알고리즘키값"
algorithmKeyHash="키해쉬값"
cryptoBlockSize="1024"
/>
적용 데이타소스 쪽에 (ex.mysql)
<beans profile="mysql">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="#{egovEnvCryptoService.decrypt('${Globals.mysql.DriverClassName}')}"/>
<property name="url" value="#{egovEnvCryptoService.getUrl()}" />
<property name="username" value="#{egovEnvCryptoService.getUsername()}" />
<property name="password" value="#{egovEnvCryptoService.getPassword()}" />
</bean>
로 메인에 세 개의 파일만 적용하시면 됩니다.
감사합니다.