Jboss 6.1.0에 배포 된 java 웹 응용 프로그램에 infinispan 5.2.6.Final을 사용합니다. 나는 나의 엔티티 빈 com.myenterprise.myproject.dal.ejb.entity.RefStatus이 설명서Infinispan - 엔티티 만료 당 설정 .lifespan
http://infinispan.org/docs/5.2.x/user_guide/user_guide.html#_advanced_configuration_2
다음 엔티티 특정 expiration.lifespan 당을 설정하기 위해 노력하고있어.
가이드는 다음 상태 : 또한 같은 방식으로 개체/모음 당에 형 기초를 퇴거/만료 설정을 재정의 할 수 있습니다
만 해당 엔티티 (예 : COM afftect 오버라이드 (override) 설정. acme.Person) 또는 콜렉션 유형 (예 : com.acme.Person.addresses). 예를 들어 : 그래서
<property name="hibernate.cache.infinispan.com.acme.Person.expiration.lifespan" value= "65000"/>
, 난 테스트 용 10 밀리 초에 수명을 줄이기 위해, 내 persistence.xml을에 다음 요소를 추가 한, 그것은 나중에 미세 조정을 위해 :
<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"/>
설정이 작동하지만, 모든 개체 캐시에 영향을, 그리고 내가 원하는 것이 아니다.
<?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>
감사합니다 다음은 무엇
내 application.xml을 파일입니다.
올바른 것입니다. –
좋은 게시/explainantion –
@ GalderZamarreño 그것은 당신의 대답과 함께 작동하지 않았어, 내가 한 설정 변경을 찾으십시오. 내 경우 person 엔티티는 demo.war -> my-entity.jar -> com.demo.model.Person.class ... 내 persistence.xml statistics -> entries를 사용하고 있습니다. 얼마 동안 유휴로 인해서." 저장소에있는 엔티티가 축출 될 때까지는 수명은 길어 지지만 시간 제한없이 (기본적으로 만료되지 않음) 캐시에 남아 있기를 원합니다. –
prem