2016-10-05 9 views
1

Возможно ли внедрить некоторые свойства в ehcache.xml?Как добавить свойства в конфигурационный файл ehcache?

Например, у меня есть разные файлы свойств, каждый из которых принадлежит к окружающей среде:

my_project_name.local.properties

my_project_name.test.properties

my_project_name.int.properties

my_project_name.prod.properties

каждый из которых содержит свойства для другого Окружающая среда.

Я хотел бы, чтобы ввести в ehcache.xml собственности maxByteslocalHeap следующим образом:

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="ehcache.xsd" 
    updateCheck="false" monitoring="autodetect" 
    maxBytesLocalHeap="${my_project.cache.maxBytesLocalHeap}"> 
    ..... 
</ehcache> 

my_project.cache.maxBytesLocalHeap определяется в каждом файле свойств, показанном выше, и имеет различные значения в зависимости от среды, где мое приложение.

ответ

1

Короткий ответ - нет, по всей существующей версии Ehcache в это время (последние 2.10.2 и 3.1.3).

Длинный ответ на ваш вопрос зависит от версии Ehcache:

  • Ehcache 2.6.x в 2.10.x только поддерживает замену свойств для конфигурации пути диска на уровне CacheManager. Используемый образец - классический ${my.prop}.
  • Ehcache 3.0.0 до 3.1.2 не поддерживает замену свойств.
  • Ehcache 3.1.3 и выше поддержка замены свойств во всей позиции схемы, которая принимает текст. Опять же, шаблон для использования является классическим ${my.prop}. Обратите внимание, что это означает, что в вашем примере вы не сможете заменить размерную информацию, потому что XSD гарантирует, что это значение является строго положительным числом.

Последнее ограничение, перечисленное здесь, может быть отменено - команда разработчиков просто не была уверена, что это стоит усилий. Так что, если это то, что, по вашему мнению, должно обеспечить Ehcache, отправьте письмо в группу google ehcache-users.