/** Create and return the CacheManager. */ private ServerCacheManager getCacheManager(ServerConfig serverConfig) { ServerCacheManager serverCacheManager = serverConfig.getServerCacheManager(); if (serverCacheManager != null) { return serverCacheManager; } // reasonable default settings are for a cache per bean type ServerCacheOptions beanOptions = new ServerCacheOptions(); beanOptions.setMaxSize(GlobalProperties.getInt("cache.maxSize", 1000)); // maxIdleTime 10 minutes beanOptions.setMaxIdleSecs(GlobalProperties.getInt("cache.maxIdleTime", 60 * 10)); // maxTimeToLive 6 hrs beanOptions.setMaxSecsToLive(GlobalProperties.getInt("cache.maxTimeToLive", 60 * 60 * 6)); // reasonable default settings for the query cache per bean type ServerCacheOptions queryOptions = new ServerCacheOptions(); queryOptions.setMaxSize(GlobalProperties.getInt("querycache.maxSize", 100)); // maxIdleTime 10 minutes queryOptions.setMaxIdleSecs(GlobalProperties.getInt("querycache.maxIdleTime", 60 * 10)); // maxTimeToLive 6 hours queryOptions.setMaxSecsToLive(GlobalProperties.getInt("querycache.maxTimeToLive", 60 * 60 * 6)); ServerCacheFactory cacheFactory = serverConfig.getServerCacheFactory(); if (cacheFactory == null) { cacheFactory = new DefaultServerCacheFactory(); } return new DefaultServerCacheManager(cacheFactory, beanOptions, queryOptions); }