2012-07-19 14 views
7

Estoy usando ehcache con hibernate en mi aplicación. aquí es la configuración de ehcache.xmlEhCache desbordamiento al disco en la ruta específica

<ehcache> 
    <diskStore path="java.io.tmpdir"/>   

    <defaultCache 
      maxElementsInMemory="10" 
      eternal="false" 
      timeToIdleSeconds="120" 
      timeToLiveSeconds="120" 
      overflowToDisk="true" 
      diskSpoolBufferSizeMB="300" 
      maxElementsOnDisk="10000000" 
      diskPersistent="false" 
      diskExpiryThreadIntervalSeconds="120" 
      memoryStoreEvictionPolicy="LRU" 
      /> 
</ehcache> 

mi camino diskStore es java.io.tmpdir, que quiero cambiar a mi camino aplicación como $ {} WebApp/DiskStore

Ubicación
+0

creo @Pradeep merece una respuesta aceptada. – anthoon

Respuesta

9

de almacenamiento están especificado por caminos de encuadernación rígida.

Los valores válidos para el attibute ruta son las rutas del sistema de archivos legales.

Por ejemplo, para Unix:/home/aplicación/cache

El siguiente sistema propiedades también son legales, en cuyo caso se traducen:

user.home - User's home directory 
user.dir - User's current working directory 
java.io.tmpdir - Default temp file path 
ehcache.disk.store.dir - A system property 

subdirectorios se pueden especificar por debajo de la propiedad del sistema, por ejemplo:

java.io.tmpdir/un

se convierte, en un sistema Unix:

/tmp/one

+0

Tenemos servidor de Windows. Al especificar la ruta absoluta, funciona. ¿Hay alguna manera de que podamos especificar la ruta de forma dinámica a través de un código o una ruta relativa de la aplicación web? –

+0

Creo que en la clase de Java podemos leer el directorio raíz de la aplicación, pero aquí tiene que hacer esto en el archivo xml. entonces no estoy seguro de que haya un reemplazo por valor dinámico. – NPKR

+0

'java.io.tmpdir' - Ventana de ruta de archivo temporal predeterminada' C: \ Users \ user \ AppData \ Local \ Temp' –

1

También es posible utilizar una propiedad que se reemplazará en tiempo de compilación. Por lo tanto, debe configurar su pom.xml correctamente, p.

<build> 
    <filters> 
     <filter>${user.home}/my.properties</filter> 
    </filters> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 
</build> 

(al menos este era un trabajo estableciendo para nuestro proyecto)

1

He tratado ehcache recientemente y se preguntaba qué es java.io.tmpdir y donde se encuentra en mi máquina. La respuesta aceptada en esta página no resolvió mi problema. Revisé /tmp y no encontré el archivo ehcache.

Aquí es lo que encuentro en línea y espero que ayude a otras personas:

comando

1.run env en su terminal. Imprime el entorno del sistema operativo. En mi caso, me dio:

TMPDIR=/var/folders/1j/pb3h7_hl7890px72_f8mntd00000gn/T/

2.alternatively, se puede consultar desde la consola Python:

Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tempfile 
>>> tempfile.gettempdir() 
'/var/folders/1j/pb3h7_hl7890px72_f8mntd00000gn/T' 
Cuestiones relacionadas