Хранение свойств кластера treecache в файле свойств - PullRequest
2 голосов
/ 09 сентября 2010

Я использую Jboss 4, Hibenate, Spring и Treecache.Поскольку у нас разные среды, я хотел бы хранить информацию о кластере в отдельном файле свойств и ссылаться на содержимое из файла treecache xml.Я скопировал treecache-optimistic.xml в

\jboss-4.2.0.GA\server\Pearl\conf

и настроил свойства в \jboss-4.2.0.GA\server\Pearl\deploy\properties-service.xml

 <attribute name="Properties">
    cluster.name=CluterName
 cluster.ip=228.1.3.1
 cluster.port=48866
    </attribute>

Я попытался сослаться на него в treecache-optimistic.xml следующим образом:

 <attribute name="ClusterName">${cluster.name}</attribute>

После запуска экземпляра я обнаружил через JMX, что имя кластера ${cluster.name}, а не значение свойства (ClusterName).Я думал, что это не может найти свойство как-то, но если я изменяю ссылку на

<attribute name="ClusterName">${cluster.name:DefaultValue}</attribute>

, то я получаю следующую ошибку:

Исключительный стартовый фильтр ServletRequestScopeFilter org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем 'pearlSessionFactory', определенным в ресурсе пути к классу [hibernate-spring.xml]: сбой вызова метода init;вложенное исключение: org.hibernate.cache.CacheException: javax.management.MalformedObjectNameException: недопустимый символ ':' в значении части свойства

Свойства гибернации настраиваются пружиной:

 <!-- Database Property -->
    <bean id="hibernatePropertiesPearl"
          class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="properties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
                <prop key="hibernate.cache.provider_class">org.hibernate.cache.TreeCacheProvider</prop>
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.max_fetch_depth">0</prop>
                <prop key="hibernate.jdbc.batch_size">0</prop>

У меня нетзнаю, почему treecache-optimistic.xml не может обрабатывать файлы свойств :-(

Спасибо Золтан

1 Ответ

1 голос
/ 16 июня 2011

Как насчет управления всеми конфигурациями через Spring?Я имею в виду подход, предложенный @skaffman здесь .Поскольку в Spring XML можно объявить отдельные свойства конфигурации, вы можете использовать заполнители, как вы, вероятно, используете для конфигураций Hibernate.

...