2017-05-22 7 views
0

환경별로 differents 파일을 가질 수 있도록 ehcache 구성 파일 (ehcache.xml)을 클래스 경로 외부에서 읽을 수 있어야합니다 (예를 들어 멀티 캐스트 주소를 변경할 수 있어야합니다. 캐시 공유).ehcache 구성 파일이 클래스 경로 외부에 있습니다.

나는 단순히 XML 정의 된 Bean을 사용하기 전에는

: 속성 파일에

<bean id="ehCache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> <property name="configLocation" value="#{ @PreferenceService.getEhcacheFileName() }" /> </bean>

PreferenceService.getEhcacheFileName() 경로를 다시 보냅니다.

속성이 클래스 경로 (classpath : ehcache.xml)로 채워지면 응용 프로그램이 제대로 작동합니다.

그러나 절대 경로 (/home/foo/ehcache.xml)를 사용하려면 해당 자원을 찾을 수 없습니다.

절대 경로를 사용할 수 있습니까? 그리고 그렇다면 어떤 속성을 사용해야합니까?

+0

whcih으로 Ehcache 버전? 봄 버전? 당신이 시도한 정확한 경로는 무엇입니까? 접두사가있는 파일 : /? –

+0

하하 내 경로에서 '파일'을 잊어 버렸습니다. 감사합니다. 나는 내 질문을 삭제할 수 있다고 생각지 않아, 나는 대답 할 것이다. –

+0

을 사용하여 다른 환경에 구성을 적용하는 문제를 해결할 수 있습니다 (예 : devel에서 분산 지속성 비활성화). 응용 프로그램을 부팅 할 때 프로그래밍 방식으로 수정하는 것이 좋습니다. – fustaki

답변

0

configLocation에는 아무런 문제없이 절대 경로가 포함될 수 있습니다.

파일을 추가하는 것을 잊어 버렸습니다 : 내 속성 파일의 경로 앞에.

그래서 내 경로는 지금 : "파일 : /foo/foo/ehcache.xml"

+0

당신은 당신의 자신의 대답을 "공식/가장 좋은"대답 (녹색 진드기)으로 받아 들일 수 있습니다. –