У меня есть веб-приложение Java, развернутое на Jboss 6.1.0, которое использует infinispan 5.2.6.Final. Я пытаюсь установить expiration.lifespan для каждой сущности, следуя этому руководству.
http://infinispan.org/docs/5.2.x/user_guide/user_guide.html#_advanced_configuration_2
для моего компонента Entity bean com.myenterprise.myproject.dal.ejb.entity.RefStatus.
В руководстве указано следующее:
Вы также можете переопределить параметры удаления/срока действия для каждого объекта/типа коллекции таким образом, чтобы переопределенные настройки влияли только на этот конкретный объект (например, com.acme.Person) или тип коллекции (например, com.acme.Person.addresses). Например:
<property name="hibernate.cache.infinispan.com.acme.Person.expiration.lifespan" value= "65000"/>
Итак, я добавил следующий элемент в свой файл persistence.xml, чтобы сократить время жизни до 10 миллисекунд в тестовых целях, чтобы позже его настроить:
<property name="hibernate.cache.infinispan.com.myenterprise.myproject.dal.ejb.entity.RefStatus.expiration.lifespan" value= "10"/>
Настройка не оказывает никакого влияния, и срок службы остается по умолчанию.
Знаете ли вы, как мне настроить файл persistence.xml, чтобы он успешно переопределял срок действия по умолчанию? Настройка
<property name="hibernate.cache.infinispan.entity.expiration.lifespan" value= "10"/>
это работает, но влияет на все кеши сущностей, а это не то, что мне нужно.
Далее следует мой файл application.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
<persistence-unit name="myProject_dal_PU" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/myProject-DataSource</jta-data-source>
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
<properties>
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.bytecode.use_reflection_optimizer" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="false" />
<property name="hibernate.cache.use_second_level_cache" value="true" />
<property name="hibernate.cache.use_minimal_puts" value="true" />
<property name="hibernate.cache.use_query_cache" value="true" />
<property name="hibernate.cache.infinispan.com.myenterprise.myproject.dal.ejb.entity.RefStatus.expiration.lifespan" value= "10"/>
</properties>
</persistence-unit>
</persistence>
Спасибо.