## org.hibernate.cache
Class SingletonEhCacheProvider

    java.lang.Object
      org.hibernate.cache.SingletonEhCacheProvider

All Implemented Interfaces:
  CacheProvider

    public final class SingletonEhCacheProvider

extends Object
implements CacheProvider

Singleton cache Provider plugin for Hibernate 3.2 and ehcache-1.2. New in this provider is support for non Serializable keys and values. This provider works as a Singleton. No matter how many Hibernate Configurations you have, only one ehcache CacheManager is used. See EhCacheProvider for a non-singleton implementation.

Ehcache-1.2 also has many other features such as cluster support and listeners, which can be used seamlessly simply by configurion in ehcache.xml.

Use `hibernate.cache.provider_class=net.sf.ehcache.hibernate.SingletonEhCacheProvider` in the Hibernate configuration to enable this provider for Hibernate's second level cache.

Updated for ehcache-1.2. Note this provider requires ehcache-1.2.jar. Make sure ehcache-1.1.jar or earlier is not in the classpath or it will not work.

See http://ehcache.sf.net for documentation on ehcache

Version:
  $Id: SingletonEhCacheProvider.java 744 2008-08-16 20:10:49Z gregluck $
Author:
  Greg Luck, Emmanuel Bernard

Field Summary
`static String` `NET_SF_EHCACHE_CONFIGURATION_RESOURCE_NAME` The Hibernate system property specifying the location of the ehcache configuration file name.

Constructor Summary
`SingletonEhCacheProvider()`

Method Summary
`Cache` `buildCache(String name, Properties properties)` Builds a Cache.
`boolean` `isMinimalPutsEnabledByDefault()` Not sure what this is supposed to do.
`long` `nextTimestamp()` Returns the next timestamp.
`void` `start(Properties properties)` Callback to perform any necessary initialization of the underlying cache implementation during SessionFactory construction.
`void` `stop()` Callback to perform any necessary cleanup of the underlying cache implementation during SessionFactory.close().

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NET_SF_EHCACHE_CONFIGURATION_RESOURCE_NAME

    public static final String NET_SF_EHCACHE_CONFIGURATION_RESOURCE_NAME

  The Hibernate system property specifying the location of the ehcache configuration file name. <p/ If not set, ehcache.xml will be looked for in the root of the classpath.

  If set to say ehcache-1.xml, ehcache-1.xml will be looked for in the root of the classpath.

  See Also:
    Constant Field Values

Constructor Detail

### SingletonEhCacheProvider

    public SingletonEhCacheProvider()

Method Detail

### buildCache

    public final Cache buildCache(String name,
                                  Properties properties)
                           throws CacheException

  Builds a Cache.

  Even though this method provides properties, they are not used. Properties for EHCache are specified in the ehcache.xml file. Configuration will be read from ehcache.xml for a cache declaration where the name attribute matches the name parameter in this builder.

  Specified by:
    `buildCache` in interface `CacheProvider`
  Parameters:
    `name` - the name of the cache. Must match a cache configured in ehcache.xml
    `properties` - not used
  Returns:
    a newly built cache will be built and initialised
  Throws:
    `CacheException` - inter alia, if a cache of the same name already exists

### nextTimestamp

    public final long nextTimestamp()

  Returns the next timestamp.

  Specified by:
    `nextTimestamp` in interface `CacheProvider`

### start

    public final void start(Properties properties)
                     throws CacheException

  Callback to perform any necessary initialization of the underlying cache implementation during SessionFactory construction.

  Specified by:
    `start` in interface `CacheProvider`
  Parameters:
    `properties` - current configuration settings.
  Throws:
    `CacheException`

### stop

    public void stop()

  Callback to perform any necessary cleanup of the underlying cache implementation during SessionFactory.close().

  Specified by:
    `stop` in interface `CacheProvider`

### isMinimalPutsEnabledByDefault

    public final boolean isMinimalPutsEnabledByDefault()

  Not sure what this is supposed to do.

  Specified by:
    `isMinimalPutsEnabledByDefault` in interface `CacheProvider`
  Returns:
    false to be safe

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.