Как указать относительный путь для свойства hibernate.javax.cache.uri в конфигурации Spring на основе XML - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть устаревшее весеннее приложение, созданное с использованием конфигурации на основе xml. Я пытаюсь настроить фабрику сеансов с кэшем второго уровня.

У меня есть ecache.xml файл, присутствующий в папке ресурсов, также свойство hibernate.javax.cache.uri ожидает абсолютногопуть для ecache.xml.

, если я предоставляю URI как file:///c:/App/resources/ecache.xml, это работает.Но это плохо для развертываний, обслуживания.

как можно указать относительный путь, например classpath:ehcache.xml или /WEB-INF/ehcahe.xml в конфигурациях на основе Spring xml?

Примечание : Iя не использую пружинный ботинок.

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="packagesToScan">
            <list>
                <value>com.example.vl.model</value>
            </list>
        </property>
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.javax.cache.uri">file:///c:/App/resources/ecache.xml</prop>
            </props>
        </property>
    </bean>

1 Ответ

0 голосов
/ 25 сентября 2018

ОК, я могу получить абсолютный URI в конфигурации на основе XML, используя Spring EL.

<prop key="hibernate.javax.cache.uri">#{ new org.springframework.core.io.ClassPathResource("/ehcache.xml").getURI().toString()}</prop>
...