Class CacheType


  • public class CacheType
    extends java.lang.Object
    Cache type persistence property values. The cache type defines the type of cache usage for the entities. Its usage depends on the memory and caching requirements of the entity. If no caching is desired at all the PersistenceUnitProperties.CACHE_SHARED_ should instead be used.

    JPA persistence property Usage:

    for all entities append DEFAULT suffix to CACHE_TYPE_ prefix:

    properties.add(PersistenceUnitProperties.CACHE_TYPE_DEFAULT, CacheType.Weak);

    for a single entity append either entity name or a full class name to CACHE_TYPE_ prefix:

    properties.add(PersistenceUnitProperties.CACHE_TYPE_ + "Employee", CacheType.Weak);

    properties.add(PersistenceUnitProperties.CACHE_TYPE_ + "my.test.Employee", CacheType.Weak);

    Values are case-insensitive. "" could be used instead of default value CacheType.DEFAULT.

    See Also:
    PersistenceUnitProperties.CACHE_SHARED_, PersistenceUnitProperties.CACHE_TYPE_
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT
      The default cache type is SoftWeak.
      static java.lang.String Full
      A Soft cache holds all objects read by the application.
      static java.lang.String HardWeak
      A HardWeak cache holds all objects in use by the application, and a fixed size sub-cache of MRU objects using normal (hard) references.
      static java.lang.String NONE
      NONE does not cache any objects.
      static java.lang.String Soft
      A Soft cache holds all objects read by the application, but allows any un-referenced objects to be free to garbage collection only when the JVM decides memory is low.
      static java.lang.String SoftWeak
      A SoftWeak cache holds all objects in use by the application, and a fixed size sub-cache of MRU objects using Soft references.
      static java.lang.String Weak
      A Weak cache holds all objects in use by the application, but allows any un-referenced objects to be free to garbage collection.
    • Constructor Summary

      Constructors 
      Constructor Description
      CacheType()  
    • Method Summary

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • Weak

        public static final java.lang.String Weak
        A Weak cache holds all objects in use by the application, but allows any un-referenced objects to be free to garbage collection. This guarantees object identity, allows optimal garbage collection, but provides little caching benefit.
        See Also:
        Constant Field Values
      • Soft

        public static final java.lang.String Soft
        A Soft cache holds all objects read by the application, but allows any un-referenced objects to be free to garbage collection only when the JVM decides memory is low. This guarantees object identity, allows garbage collection when memory is low, and provides optimal caching benefit.
        See Also:
        Constant Field Values
      • SoftWeak

        public static final java.lang.String SoftWeak
        A SoftWeak cache holds all objects in use by the application, and a fixed size sub-cache of MRU objects using Soft references. It allows any un-referenced objects not in the sub-cache to be free to garbage collection, and the objects in the sub-cache are free to garbage collect only when the JVM decides memory is low. This guarantees object identity, allows configurable garbage collection, and provides configurable caching benefit.
        See Also:
        Constant Field Values
      • HardWeak

        public static final java.lang.String HardWeak
        A HardWeak cache holds all objects in use by the application, and a fixed size sub-cache of MRU objects using normal (hard) references. It allows any un-referenced objects not in the sub-cache to be free to garbage collection, but not objects in the sub-cache. This guarantees object identity, allows configurable garbage collection, and provides configurable caching benefit.
        See Also:
        Constant Field Values
      • Full

        public static final java.lang.String Full
        A Soft cache holds all objects read by the application. It does not allow any garbage collection. * This guarantees object identity, allows no garbage collection, and provides complete caching benefit.

        WARNING: This cache type should only be used for a fixed sized number of objects, otherwise it will lead to an eventual memory leak.

        See Also:
        Constant Field Values
      • NONE

        public static final java.lang.String NONE
        NONE does not cache any objects. It allows any un-referenced objects to be free to garbage collection. This provides no object identity, allows complete garbage collection, and provides no caching benefit.

        WARNING: This cache type should normally not be used. Instead disable the share cache through PersistenceUnitProperties.CACHE_SHARED_. Lack of object identity can lead to infinite loops for objects that have circular references and no indirection.

        See Also:
        PersistenceUnitProperties.CACHE_SHARED_, Constant Field Values
      • DEFAULT

        public static final java.lang.String DEFAULT
        The default cache type is SoftWeak.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CacheType

        public CacheType()