Platform Explorer / Nuxeo Platform LTS 2015 7.10

Extension point caches

Extension Point to define a new cache . 20

  • The class attribute must link a class that implements the CoreCache interface. The default implementation 'org.nuxeo.ecm.core.cache.CacheImpl' is based on Google Guava implementation that does not support distributed cache You can use the 'org.nuxeo.ecm.core.redis.contribs.RedisCache' for the implementation on top of redis that allow distributed cache (make sure that a contrib to RedisService define a redis server) You can also create your own implementation by extending the AsbtractCache class and then use it as an implementation class

    The max size set the max number of elements contained in the cache

    The Time To Live define in minutes the time before the cache will be destroyed

    The concurrency level, number of thread that can access at the same time the cache

  • Contribution Descriptor

    Existing Contributions

    • nuxeo-runtime-7.10-HF06.jar /opt/tmp/tmp-explorer/nuxeo-cap-7.10-tomcat/nxserver/config/cache-config.xml
      <extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService">
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="default-cache">
            <ttl>20</ttl><!-- minutes -->
            <option name="maxSize">100</option>
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-user-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-user-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-group-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-group-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-user-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-user-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-group-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-group-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-digestauth-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-digestauth-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
      
        </extension>
    • nuxeo-platform-ui-web-7.10-HF07.jar /OSGI-INF/username-cache-config.xml
      <extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService">
        
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="userDisplayName">
            <option name="maxSize">1000</option>
            <option name="concurrencyLevel">10</option>
            <ttl>30</ttl>
          </cache>
      
        </extension>
    • nuxeo-runtime-7.10-HF06.jar /opt/tmp/tmp-explorer/nuxeo-cap-7.10-tomcat/nxserver/config/nuxeodrive-sync-roots-cache-config.xml
      <extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService">
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="driveSyncRoot">
            <option name="maxSize">10000</option>
            <option name="concurrencyLevel">4</option>
            <ttl>1</ttl>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="driveCollectionSyncRootMember">
            <option name="maxSize">10000</option>
            <option name="concurrencyLevel">4</option>
            <ttl>1</ttl>
          </cache>
      
        </extension>