##############################################################
################## DEFAULT CACHE REGION  #####################
# sets the default aux value for any non configured caches
jcs.default=DC
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

# should be defined for the storage of group attribute list
jcs.system.groupIdCache=DC
jcs.system.groupIdCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.system.groupIdCache.cacheattributes.MaxObjects=1000
jcs.system.groupIdCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
 

##############################################################
################## CACHE REGIONS AVAILABLE ###################
jcs.region.testCache1=RC
jcs.region.testCache1.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.testCache1.elementattributes.IsLateral=true
jcs.region.testCache1.elementattributes.IsRemote=true

jcs.region.testCache2=DC
jcs.region.testCache2.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.testCache2.cacheattributes.MaxObjects=1000
jcs.region.testCache2.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

# prefered config
jcs.region.test2=DC
jcs.region.test2.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.test2.cacheattributes.MaxObjects=1000


##############################################################
################## AUXILIARY CACHES AVAILABLE ################
jcs.auxiliary.HC=org.apache.jcs.auxiliary.disk.hsql.HSQLCacheFactory
jcs.auxiliary.HC.attributes=org.apache.jcs.auxiliary.disk.hsql.HSQLCacheAttributes
jcs.auxiliary.HC.attributes.DiskPath=@project_home@/hsql

# standard disk cache
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=@project_home@/raf

# need to make put or invalidate an option
# just a remove lock to add
jcs.auxiliary.RC=org.apache.jcs.auxiliary.remote.RemoteCacheFactory
jcs.auxiliary.RC.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes
jcs.auxiliary.RC.attributes.FailoverServers=localhost:1102
jcs.auxiliary.RC.attributes.LocalPort=1202
jcs.auxiliary.RC.attributes.RemoveUponRemotePut=false
jcs.auxiliary.RC.attributes.GetTimeoutMillis=5000
jcs.auxiliary.RC.attributes.ThreadPoolName=remote_cache_client
jcs.auxiliary.RC.attributes.GetOnly=false

# unreliable
jcs.auxiliary.LUDP=org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LUDP.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LUDP.attributes.TransmissionTypeName=UDP
jcs.auxiliary.LUDP.attributes.UdpMulticastAddr=228.5.6.7
jcs.auxiliary.LUDP.attributes.UdpMulticastPort=6789

jcs.auxiliary.LJG=org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LJG.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LJG.attributes.TransmissionTypeName=JAVAGROUPS
jcs.auxiliary.LJG.attributes.UdpMulticastAddr=228.5.6.7
jcs.auxiliary.LJG.attributes.UdpMulticastPort=6789
jcs.auxiliary.LJG.attributes.PutOnlyMode=true

# almost complete
jcs.auxiliary.LTCP=org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LTCP.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LTCP.attributes.TransmissionTypeName=TCP
jcs.auxiliary.LTCP.attributes.TcpServers=localhost:1111
jcs.auxiliary.LTCP.attributes.TcpListenerPort=1112
jcs.auxiliary.LTCP.attributes.PutOnlyMode=false

jcs.auxiliary.XMLRPC=org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.XMLRPC.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.XMLRPC.attributes.TransmissionTypeName=XMLRPC
jcs.auxiliary.XMLRPC.attributes.HttpServers=localhost:8181
jcs.auxiliary.XMLRPC.attributes.HttpListenerPort=8182
jcs.auxiliary.XMLRPC.attributes.PutOnlyMode=false


jcs.auxiliary.LTCP2=org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LTCP2.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LTCP2.attributes.TransmissionTypeName=TCP
jcs.auxiliary.LTCP2.attributes.TcpServers=localhost:1111,localhost2:1112
jcs.auxiliary.LTCP2.attributes.TcpListenerPort=1111

# example of how to configure the http version of the lateral cache
# not converteed to new cache
jcs.auxiliary.LCHTTP=org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LCHTTP.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LCHTTP.attributes.TransmissionType=HTTP
jcs.auxiliary.LCHTTP.attributes.httpServers=localhost:8080,localhost:7001,localhost:80
jcs.auxiliary.LCHTTP.attributes.httpReceiveServlet=/cache/LateralCacheReceiverServlet
jcs.auxiliary.LCHTTP.attributes.httpDeleteServlet=/cache/DeleteCacheServlet

##############################################################
################## THREAD POOL CONFIGURATION ###################
# Default thread pool config
thread_pool.default.boundarySize=2000
thread_pool.default.maximumPoolSize=150
thread_pool.default.minimumPoolSize=4
thread_pool.default.keepAliveTime=350000
#RUN ABORT WAIT BLOCK DISCARDOLDEST
thread_pool.default.whenBlockedPolicy=RUN
thread_pool.default.startUpSize=4

# Default Cache Event Queue thread pool config, used by auxiliaries
thread_pool.cache_event_queue.useBoundary=false
#thread_pool.cache_event_queue.boundarySize=2000
#thread_pool.cache_event_queue.maximumPoolSize=10
thread_pool.cache_event_queue.minimumPoolSize=5
thread_pool.cache_event_queue.keepAliveTime=3500
#thread_pool.cache_event_queue.whenBlockedPolicy=RUN
thread_pool.cache_event_queue.startUpSize=5

# Remote cache client thread pool config
thread_pool.remote_cache_client.boundarySize=75
thread_pool.remote_cache_client.maximumPoolSize=150
thread_pool.remote_cache_client.minimumPoolSize=4
thread_pool.remote_cache_client.keepAliveTime=350000
thread_pool.remote_cache_client.whenBlockedPolicy=RUN
thread_pool.remote_cache_client.startUpSize=4

