Свойство-контекста-placholder Spring ehcahe конфигурация

Я не хочу звучать также отрицательным, но существуют случаи, когда то, что Вы хотите, почти невозможно без большой "искусственной" настройки разрывов страницы.

, Если выноска падает естественно около конца страницы, и показатель падает на следующей странице, перемещая число назад, одна страница, вероятно, переместит выноску вперед .

я рекомендовал бы (в максимально возможной степени, и в зависимости от точного размера чисел):

  • Место числа с [t] (или [h], если Вы должны)
  • Место числа, почти возможные к "правильному" месту (отличается для [t] и [h])
  • , Включают числа из отдельных файлов с \input, который сделает их намного легче переместиться, когда Вы сделаете финал, настраивающийся

, По моему опыту, это - большой едок не имеющегося в наличии времени (:-)

В ответ на комментарий Jon, я думаю, что это - по сути трудная проблема, потому что ЛАТЕКСНЫЕ парни, не сутулится. Вы хотели бы читать газета Frank Mittelbach .

7
задан Dennis S 7 October 2009 в 18:37
поделиться

3 ответа

В вашем примере используется EhCacheManagerFactoryBean , чтобы предоставить ссылку на CacheManager с кешами, определенными во внешнем файле cacheConfig.xml . . Как указал @ ChssPly76, преобразователь свойств Spring работает только в файлах определения компонентов Spring.

Однако вам не нужно определять отдельные кэши во внешнем файле, вы можете определять их прямо в файле определения bean-компонентов Spring, используя EhCacheFactoryBean :

FactoryBean, который создает именованный Экземпляр EHCache Cache ... Если указанный именованный кеш не настраивается в конфигурации кеша дескриптор, этот FactoryBean будет создать экземпляр Cache с указанное имя и указанное свойства кеша и добавьте его в CacheManager для последующего извлечения.

Другими словами, если вы используете EhCacheFactoryBean для ссылки на именованный кеш, который еще не определен в cacheConfig.xml , то Spring создаст и настроить новый экземпляр кэша и зарегистрировать его с помощью CacheManager во время выполнения. Это включает в себя определение таких вещей, как maxElementsInMemory , и поскольку это будет указано в файле определения компонента Spring, вы получите полную поддержку преобразователя свойств:

<context:property-placeholder location="classpath:cacheConfig.properties"/>

<bean id="myCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
    <property name="cacheManager" ref="cacheManager"/>
    <property name="maxElementsInMemory" value="${cache.maxMemoryElements}"/>
</bean>

<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <property name="shared" value="false"/>
    <property name="configLocation" value="classpath:cacheConfig.xml"/>
</bean>
12
ответ дан 6 December 2019 в 10:01
поделиться

Это не то, как работает PropertyPlaceholderConfigurer. Его можно использовать для замены значений в контексте , но не внутри произвольных внешних файлов. А cacheConfig.xml - это внешний файл - он просто передается Spring в EH Cache.

3
ответ дан 6 December 2019 в 10:01
поделиться

Если вы используете Maven или Ant, оба предлагают возможность фильтрации токенов в файлах ресурсов.

Для Maven вы можете сделать что-то вроде

<cache name="someCacheName"
  maxElementsInMemory="${cache.maxMemoryElements}" ... />

А в файле фильтра или в самом POM иметь

 cache.maxMemoryElements = 200

] Фильтрация ресурсов в Maven: Полное руководство

В Ant это можно сделать с помощью FilterSets и задачи .

2
ответ дан 6 December 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: