You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-dev@jakarta.apache.org by as...@apache.org on 2005/08/26 14:48:38 UTC
svn commit: r240226 [1/2] - in /jakarta/jcs/trunk: ./ src/conf/
src/java/org/apache/jcs/admin/servlet/ src/java/org/apache/jcs/auxiliary/
src/java/org/apache/jcs/auxiliary/disk/behavior/
src/java/org/apache/jcs/auxiliary/disk/hsql/ src/java/org/apache/...
Author: asmuts
Date: Fri Aug 26 05:47:59 2005
New Revision: 240226
URL: http://svn.apache.org/viewcvs?rev=240226&view=rev
Log:
fixed more javadocs.
created tests for jisp and hsql -- both are non functional.
tried to created unit test for remote.
changed inner class references in queues for jikes.
changed source url's to svn.
Added:
jakarta/jcs/trunk/src/conf/cacheRC.ccf
jakarta/jcs/trunk/src/test-conf/TestHSQLDiskCache.ccf
jakarta/jcs/trunk/src/test-conf/TestJispDiskCache.ccf
jakarta/jcs/trunk/src/test-conf/TestRemoteClient.ccf
jakarta/jcs/trunk/src/test-conf/TestRemoteServer.ccf
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/disk/
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/disk/hsql/
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/disk/hsql/TestHSQLDiskCache.java
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/disk/jisp/
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/disk/jisp/TestJispDiskCache.java
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/TestRemoteCache.java
Removed:
jakarta/jcs/trunk/src/java/org/apache/jcs/utils/locking/
jakarta/jcs/trunk/src/java/org/apache/jcs/utils/threads/
Modified:
jakarta/jcs/trunk/project.properties
jakarta/jcs/trunk/project.xml
jakarta/jcs/trunk/src/conf/remote.cache.ccf
jakarta/jcs/trunk/src/java/org/apache/jcs/admin/servlet/JCSAdminServlet.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCache.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheAttributes.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheFactory.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCache.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheAttributes.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheFactory.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/behavior/IHSQLCacheService.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCache.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheFactory.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPKey.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/javagroups/JavaGroupsCacheFactory.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheMonitor.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralCacheJGListener.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGSender.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGService.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheAttributes.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFactory.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheListener.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/server/RemoteCacheServer.java
jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/CacheEventQueue.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/PooledCacheEventQueue.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICache.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICacheEventQueue.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICacheListener.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICacheObserver.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICacheRestore.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICacheService.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICacheServiceAdmin.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICompositeCacheAttributes.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/behavior/ICompositeCacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/control/CompositeCacheManager.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/control/event/ElementEventQueue.java
jakarta/jcs/trunk/src/java/org/apache/jcs/engine/stats/CacheStats.java
jakarta/jcs/trunk/src/test-conf/log4j.properties
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/lateral/socket/tcp/TestTCPLateral.java
jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/lateral/socket/tcp/discovery/MockLateralCache.java
jakarta/jcs/trunk/src/test/org/apache/jcs/engine/TestSystemPropertyUsage.java
jakarta/jcs/trunk/src/test/org/apache/jcs/engine/memory/lru/TestLRUMemoryCache.java
jakarta/jcs/trunk/src/test/org/apache/jcs/servlet/ListTestCacheServlet.java
jakarta/jcs/trunk/xdocs/Downloads.xml
jakarta/jcs/trunk/xdocs/changes.xml
Modified: jakarta/jcs/trunk/project.properties
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/project.properties?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/project.properties (original)
+++ jakarta/jcs/trunk/project.properties Fri Aug 26 05:47:59 2005
@@ -1,18 +1,33 @@
+# -------------------------------------------------------------------
+# REPOS
+# -------------------------------------------------------------------
+maven.repo.remote=http://ibiblio.org/maven,http://maven-plugins.sourceforge.net
+
+# -------------------------------------------------------------------
+# XDOC
+# -------------------------------------------------------------------
maven.xdoc.date = left
+# -------------------------------------------------------------------
+# TEST
+# -------------------------------------------------------------------
maven.test.callback.pre-test.buildFile = build.xml
maven.test.callback.pre-test.buildTarget = jcs:test-prepare
maven.core.callback.post-compile.buildFile = build.xml
maven.core.callback.post-compile.buildTarget = jcs:copy-classpath-vm
+# -------------------------------------------------------------------
+# JUNIT
+# -------------------------------------------------------------------
maven.junit.fork = true
# I'm setting this for jcoverage.
#maven.test.failure.ignore=true
maven.jcoverage.junit.fork = true
+maven.junit.sysproperties=java.security.policy
+java.security.policy=${basedir}/src/conf/cache.policy
# -------------------------------------------------------------------
# C H E C K S T Y L E P R O P E R T I E S
# -------------------------------------------------------------------
-
maven.checkstyle.properties = ${basedir}/checkstyle.xml
Modified: jakarta/jcs/trunk/project.xml
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/project.xml?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/project.xml (original)
+++ jakarta/jcs/trunk/project.xml Fri Aug 26 05:47:59 2005
@@ -27,14 +27,12 @@
<siteDirectory>/www/jakarta.apache.org/turbine/jcs/</siteDirectory>
<distributionDirectory>/www/jakarta.apache.org/builds/jakarta-turbine-jcs/</distributionDirectory>
-
<repository>
- <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-turbine-jcs</connection>
- <developerConnection>scm:cvs:ext:${maven.username}@cvs.apache.org:/home/cvs:jakarta-turbine-jcs</developerConnection>
- <url>http://cvs.apache.org/viewcvs/jakarta-turbine-jcs/</url>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/jcs/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jakarta/jcs/trunk/</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/jakarta/jcs/trunk/</url>
</repository>
-
<mailingLists>
<mailingList>
<name>JCS User List</name>
@@ -173,6 +171,22 @@
<id>berkeleydb</id>
<version>1.5.0</version>
</dependency>
+
+ <!-- Maven plugins -->
+ <!--
+ <dependency>
+ <groupId>statcvs</groupId>
+ <artifactId>maven-statcvs-plugin</artifactId>
+ <version>2.7</version>
+ <type>plugin</type>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>maven-plugins</groupId>
+ <artifactId>maven-findbugs-plugin</artifactId>
+ <version>0.9.1</version>
+ <type>plugin</type>
+ </dependency>
</dependencies>
@@ -191,7 +205,7 @@
<include>**/TestDiskCacheConcurrent.java</include>
<include>**/TestDiskCacheConcurrentForDeadLock.java</include>
<include>**/TestTCPLateralCache.java</include>
- <include>**/TestLateralTCPConcurrentForDeadLock</include>
+ <include>**/TestLateralTCPConcurrentForDeadLock.java</include>
<!--
<include>**/TestJCSvHashtablePerf.java</include>
-->
@@ -220,14 +234,15 @@
<report>maven-checkstyle-plugin</report>
<report>maven-changes-plugin</report>
<report>maven-changelog-plugin</report>
+ <!--
+ <report>maven-statcvs-plugin</report>
+ -->
<report>maven-file-activity-plugin</report>
<report>maven-developer-activity-plugin</report>
<report>maven-javadoc-plugin</report>
<report>maven-jxr-plugin</report>
<report>maven-junit-report-plugin</report>
- <!--
<report>maven-jcoverage-plugin</report>
- -->
<report>maven-tasklist-plugin</report>
<report>maven-pmd-plugin</report>
<report>maven-simian-plugin</report>
Added: jakarta/jcs/trunk/src/conf/cacheRC.ccf
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/conf/cacheRC.ccf?rev=240226&view=auto
==============================================================================
--- jakarta/jcs/trunk/src/conf/cacheRC.ccf (added)
+++ jakarta/jcs/trunk/src/conf/cacheRC.ccf Fri Aug 26 05:47:59 2005
@@ -0,0 +1,231 @@
+##############################################################
+################## DEFAULT CACHE REGION #####################
+# sets the default aux value for any non configured caches
+jcs.default=DC,RC
+jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.default.cacheattributes.MaxObjects=200001
+jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
+jcs.default.cacheattributes.UseMemoryShrinker=true
+jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
+jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
+jcs.default.elementattributes.IsEternal=false
+jcs.default.elementattributes.MaxLifeSeconds=700
+jcs.default.elementattributes.IdleTime=1800
+jcs.default.elementattributes.IsSpool=true
+jcs.default.elementattributes.IsRemote=true
+jcs.default.elementattributes.IsLateral=true
+
+
+##############################################################
+################## CACHE REGIONS AVAILABLE ###################
+# Regions preconfirgured for caching
+jcs.region.testCache1=DC,RC
+jcs.region.testCache1.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.region.testCache1.cacheattributes.MaxObjects=1000000
+jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
+jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
+jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=30
+jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=300
+jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=100
+jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes
+jcs.region.testCache1.elementattributes.IsEternal=false
+jcs.region.testCache1.elementattributes.MaxLifeSeconds=60000
+jcs.region.testCache1.elementattributes.IsLateral=true
+jcs.region.testCache1.elementattributes.IsRemote=true
+
+jcs.region.testCache2=DC,RC
+jcs.region.testCache2.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.region.testCache2.cacheattributes.MaxObjects=100
+jcs.region.testCache2.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
+jcs.region.testCache2.cacheattributes.UseMemoryShrinker=true
+jcs.region.testCache2.cacheattributes.MaxMemoryIdleTimeSeconds=1000
+jcs.region.testCache2.cacheattributes.ShrinkerIntervalSeconds=40
+jcs.region.testCache2.elementattributes=org.apache.jcs.engine.ElementAttributes
+jcs.region.testCache2.elementattributes.IsEternal=false
+jcs.region.testCache2.elementattributes.MaxLifeSeconds=600
+jcs.region.testCache2.elementattributes.IsSpool=true
+jcs.region.testCache2.elementattributes.IsRemote=true
+jcs.region.testCache2.elementattributes.IsLateral=true
+
+jcs.region.testCache3=
+jcs.region.testCache3.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.region.testCache3.cacheattributes.MaxObjects=100000
+jcs.region.testCache3.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
+jcs.region.testCache3.cacheattributes.UseMemoryShrinker=false
+jcs.region.testCache3.cacheattributes.MaxMemoryIdleTimeSeconds=10
+jcs.region.testCache3.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.region.testCache3.elementattributes=org.apache.jcs.engine.ElementAttributes
+jcs.region.testCache3.elementattributes.IsEternal=false
+jcs.region.testCache3.elementattributes.MaxLifeSeconds=3600
+jcs.region.testCache3.elementattributes.IsSpool=true
+jcs.region.testCache3.elementattributes.IsRemote=true
+jcs.region.testCache3.elementattributes.IsLateral=true
+
+
+##############################################################
+################## AUXILIARY CACHES AVAILABLE ################
+
+# Remote RMI cache without failover
+jcs.auxiliary.RGroup=org.apache.jcs.auxiliary.remote.RemoteCacheFactory
+jcs.auxiliary.RGroup.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes
+jcs.auxiliary.RGroup.attributes.RemoteTypeName=LOCAL
+jcs.auxiliary.RGroup.attributes.RemoteHost=localhost
+jcs.auxiliary.RGroup.attributes.RemotePort=1102
+jcs.auxiliary.RGroup.attributes.GetOnly=true
+
+# Remote RMI Cache set up to failover
+jcs.auxiliary.RFailover=org.apache.jcs.auxiliary.remote.RemoteCacheFactory
+jcs.auxiliary.RFailover.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes
+jcs.auxiliary.RFailover.attributes.RemoteTypeName=LOCAL
+jcs.auxiliary.RFailover.attributes.FailoverServers=localhost:1102
+jcs.auxiliary.RFailover.attributes.GetOnly=false
+
+# Primary Disk Cache-- faster than the rest because of memory key storage
+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=target/test-sandbox/raf
+jcs.auxiliary.DC.attributes.MaxPurgatorySize=10000000
+jcs.auxiliary.DC.attributes.MaxKeySize=1000000
+jcs.auxiliary.DC.attributes.MaxRecycleBinSize=5000
+jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=300000
+jcs.auxiliary.DC.attributes.ShutdownSpoolTimeLimit=60
+
+# Disk Cache Using a Pooled Event Queue -- this allows you
+# to control the maximum number of threads it will use.
+# Each region uses 1 thread by default in the SINGLE model.
+# adding more threads does not help.
+# If you want to use a separate pool for each disk cache, either use
+# the single model or define a different auxiliary for each region and use the Pooled.
+# SINGLE is best unless you ahve a huge # of regions.
+jcs.auxiliary.DC2=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
+jcs.auxiliary.DC2.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
+jcs.auxiliary.DC2.attributes.DiskPath=target/test-sandbox/raf
+jcs.auxiliary.DC2.attributes.MaxPurgatorySize=10000
+jcs.auxiliary.DC2.attributes.MaxKeySize=10000
+jcs.auxiliary.DC2.attributes.MaxRecycleBinSize=5000
+jcs.auxiliary.DC2.attributes.OptimizeAtRemoveCount=300000
+jcs.auxiliary.DC2.attributes.EventQueueType=POOLED
+jcs.auxiliary.DC2.attributes.EventQueuePoolName=disk_cache_event_queue
+
+# Berkeley DB JE
+jcs.auxiliary.JE=org.apache.jcs.auxiliary.disk.bdbje.BDBJECacheFactory
+jcs.auxiliary.JE.attributes=org.apache.jcs.auxiliary.disk.bdbje.BDBJECacheAttributes
+jcs.auxiliary.JE.attributes.DiskPath=target/test-sandbox/bdbje-disk-cache-conc
+#the minimum cache size is 1024
+jcs.auxiliary.indexedDiskCache.attributes.CacheSize=1024
+#jcs.auxiliary.indexedDiskCache.attributes.CachePercent=0
+
+# HSQL Disk Cache -- too slow as is
+jcs.auxiliary.HDC=org.apache.jcs.auxiliary.disk.hsql.HSQLCacheFactory
+jcs.auxiliary.HDC.attributes=org.apache.jcs.auxiliary.disk.hsql.HSQLCacheAttributes
+jcs.auxiliary.HDC.attributes.DiskPath=@project_home_f@hsql
+
+# JISP Disk Cache -- save memory with disk key storage
+jcs.auxiliary.JDC=org.apache.jcs.auxiliary.disk.jisp.JISPCacheFactory
+jcs.auxiliary.JDC.attributes=org.apache.jcs.auxiliary.disk.jisp.JISPCacheAttributes
+jcs.auxiliary.JDC.attributes.DiskPath=@project_home_f@raf
+jcs.auxiliary.JDC.attributes.ClearOnStart=false
+
+# 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:1101
+#,localhost:1102
+jcs.auxiliary.RC.attributes.LocalPort=1201
+jcs.auxiliary.RC.attributes.RemoveUponRemotePut=false
+#jcs.auxiliary.RC.attributes.RemoteServiceName=RemoteCache
+#-1 means no timeout, this is the default
+# if the timeout is -1, no threadpool will be used.
+jcs.auxiliary.RC.attributes.GetTimeoutMillis=500
+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.PutOnlyMode=true
+jcs.auxiliary.LJG.attributes.JGChannelProperties = UDP(mcast_addr=224.0.0.100;mcast_port=751):PING(timeout=3000):FD:STABLE:NAKACK:UNICAST:FRAG:FLUSH:GMS:VIEW_ENFORCER:QUEUE
+
+
+jcs.auxiliary.JG = org.apache.jcs.auxiliary.javagroups.JavaGroupsCacheFactory
+jcs.auxiliary.JG.attributes = org.apache.jcs.auxiliary.javagroups.JavaGroupsCacheAttributes
+jcs.auxiliary.JG.attributes.ChannelFactoryClassName = org.javagroups.JChannelFactory
+jcs.auxiliary.JG.attributes.ChannelProperties = UDP(mcast_addr=224.0.0.100;mcast_port=7501):PING:FD:STABLE:NAKACK:UNICAST:FRAG:FLUSH:GMS:VIEW_ENFORCER:QUEUE
+
+
+# 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:1112
+jcs.auxiliary.LTCP.attributes.TcpListenerPort=1111
+jcs.auxiliary.LTCP.attributes.PutOnlyMode=true
+
+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:1112
+jcs.auxiliary.LTCP2.attributes.TcpListenerPort=1111
+jcs.auxiliary.LTCP2.attributes.PutOnlyMode=true
+
+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:8182
+jcs.auxiliary.XMLRPC.attributes.HttpListenerPort=8181
+jcs.auxiliary.XMLRPC.attributes.PutOnlyMode=false
+
+
+# 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
+
+
+##############################################################
+################## OPTIONAL 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
+# since it doesn't use a boundary, some of the options are unnecessary
+thread_pool.cache_event_queue.useBoundary=false
+thread_pool.cache_event_queue.minimumPoolSize=5
+thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.startUpSize=5
+
+# Disk Cache pool
+thread_pool.disk_cache_event_queue.useBoundary=false
+thread_pool.remote_cache_client.maximumPoolSize=15
+thread_pool.disk_cache_event_queue.minimumPoolSize=1
+thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.startUpSize=1
+
+# 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
+
+
Modified: jakarta/jcs/trunk/src/conf/remote.cache.ccf
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/conf/remote.cache.ccf?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/conf/remote.cache.ccf (original)
+++ jakarta/jcs/trunk/src/conf/remote.cache.ccf Fri Aug 26 05:47:59 2005
@@ -43,7 +43,7 @@
jcs.auxiliary.RCluster.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes
jcs.auxiliary.RCluster.attributes.RemoteTypeName=CLUSTER
jcs.auxiliary.RCluster.attributes.RemoveUponRemotePut=false
-jcs.auxiliary.RCluster.attributes.ClusterServers=localhost:1102
+#jcs.auxiliary.RCluster.attributes.ClusterServers=localhost:1102
jcs.auxiliary.RCluster.attributes.GetOnly=false
jcs.auxiliary.RCluster.attributes.LocalClusterConsistency=true
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/admin/servlet/JCSAdminServlet.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/admin/servlet/JCSAdminServlet.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/admin/servlet/JCSAdminServlet.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/admin/servlet/JCSAdminServlet.java Fri Aug 26 05:47:59 2005
@@ -81,7 +81,10 @@
private static final String DETAIL_ACTION = "detail";
- /** @see org.apache.velocity.servlet.VelocityServlet#handleRequest */
+ /*
+ * (non-Javadoc)
+ * @see org.apache.velocity.servlet.VelocityServlet#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.context.Context)
+ */
protected Template handleRequest( HttpServletRequest request, HttpServletResponse response, Context context )
throws Exception
{
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCache.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCache.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCache.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCache.java Fri Aug 26 05:47:59 2005
@@ -36,33 +36,70 @@
public interface AuxiliaryCache
extends ICache
{
- /** Puts an item to the cache. */
+ /**
+ * Puts an item to the cache.
+ *
+ * @param ce
+ * @throws IOException
+ */
public void update( ICacheElement ce )
throws IOException;
- /** Gets an item from the cache. */
+ /**
+ * Gets an item from the cache.
+ *
+ * @param key
+ * @return
+ * @throws IOException
+ */
public ICacheElement get( Serializable key )
throws IOException;
- /** Removes an item from the cache. */
+ /**
+ * Removes an item from the cache.
+ *
+ * @param key
+ * @return
+ * @throws IOException
+ */
public boolean remove( Serializable key )
throws IOException;
- /** Removes all cached items from the cache. */
+ /**
+ * Removes all cached items from the cache.
+ *
+ * @throws IOException
+ */
public void removeAll()
throws IOException;
- /** Prepares for shutdown. */
+ /**
+ * Prepares for shutdown.
+ *
+ * @throws IOException
+ */
public void dispose()
throws IOException;
- /** Returns the current cache size. */
+ /**
+ * Returns the current cache size.
+ *
+ * @return
+ */
public int getSize();
- /** Returns the cache status. */
+ /**
+ * Returns the cache status.
+ *
+ * @return
+ */
public int getStatus();
- /** Returns the cache name. */
+ /**
+ * Returns the cache name.
+ *
+ * @return
+ */
public String getCacheName();
/**
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheAttributes.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheAttributes.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheAttributes.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheAttributes.java Fri Aug 26 05:47:59 2005
@@ -108,7 +108,11 @@
*/
public String getEventQueuePoolName();
- /** Description of the Method */
+ /**
+ * Description of the Method
+ *
+ * @return
+ */
public AuxiliaryCacheAttributes copy();
}
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheFactory.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheFactory.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheFactory.java Fri Aug 26 05:47:59 2005
@@ -17,11 +17,10 @@
*/
import org.apache.jcs.engine.behavior.ICompositeCacheManager;
-import org.apache.jcs.engine.control.CompositeCache;
/**
- * All auxiliary caches must have a factory that the cache configurator can
- * use to create instances.
+ * All auxiliary caches must have a factory that the cache configurator can use
+ * to create instances.
*
*/
public interface AuxiliaryCacheFactory
@@ -32,14 +31,14 @@
* @param attr
*
* @param cacheMgr
- * This allows auxiliaries to reference the manager
- * without assuming that it is a singleton. This will
- * allow JCS to be a nonsingleton. Also, it makes it easier to test.
+ * This allows auxiliaries to reference the manager without
+ * assuming that it is a singleton. This will allow JCS to be a
+ * nonsingleton. Also, it makes it easier to test.
*
* @return AuxiliaryCache
*/
public AuxiliaryCache createCache( AuxiliaryCacheAttributes attr, ICompositeCacheManager cacheMgr );
-
+
/**
* Sets the name attribute of the AuxiliaryCacheFactory object
*
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheManager.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheManager.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheManager.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/AuxiliaryCacheManager.java Fri Aug 26 05:47:59 2005
@@ -17,7 +17,6 @@
*/
import org.apache.jcs.engine.behavior.ICacheType;
-import org.apache.jcs.engine.behavior.ICompositeCacheManager;
/**
* AuxiliaryCacheManager
@@ -28,7 +27,7 @@
public interface AuxiliaryCacheManager
extends ICacheType
{
-
+
/**
* Return the approriate auxiliary cache for this region.
*
@@ -37,15 +36,15 @@
*/
public AuxiliaryCache getCache( String cacheName );
-
/**
- * This allows the cache manager to be plugged into the auxiliary caches,
- * rather then ahving them get it themselves. Cache maangers can be mocked
+ * This allows the cache manager to be plugged into the auxiliary caches,
+ * rather then ahving them get it themselves. Cache maangers can be mocked
* out and the auxiliaries will be easier to test.
*
* @param cacheName
* @param cacheManager
* @return AuxiliaryCache
*/
- //public AuxiliaryCache getCache( String cacheName, ICompositeCacheManager cacheManager );
+ //public AuxiliaryCache getCache( String cacheName, ICompositeCacheManager
+ // cacheManager );
}
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/behavior/IDiskCacheAttributes.java Fri Aug 26 05:47:59 2005
@@ -53,30 +53,31 @@
/**
* Sets the maxPurgatorySize attribute of the DiskCacheAttributes object
*
- * @param name
+ * @param maxPurgatorySize
* The new maxPurgatorySize value
*/
public void setMaxPurgatorySize( int maxPurgatorySize );
/**
- * Get the amount of time in seconds we will wait for elements to
- * move to disk during shutdown for a particular region.
- *
+ * Get the amount of time in seconds we will wait for elements to move to
+ * disk during shutdown for a particular region.
+ *
* @return the time in seconds.
*/
public int getShutdownSpoolTimeLimit();
-
+
/**
- * Sets the amount of time in seconds we will wait for elements to
- * move to disk during shutdown for a particular region.
+ * Sets the amount of time in seconds we will wait for elements to move to
+ * disk during shutdown for a particular region.
* <p>
* This is how long we give the event queue to empty.
* <p>
* The default is 60 seconds.
*
- * @param shutdownSpoolTimeLimit the time in seconds
+ * @param shutdownSpoolTimeLimit
+ * the time in seconds
*/
- public void setShutdownSpoolTimeLimit( int shutdownSpoolTimeLimit );
-
+ public void setShutdownSpoolTimeLimit( int shutdownSpoolTimeLimit );
+
}
// end interface
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCache.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCache.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCache.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCache.java Fri Aug 26 05:47:59 2005
@@ -19,6 +19,7 @@
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
@@ -55,16 +56,12 @@
private int numInstances = 0;
- public boolean isAlive = false;
-
- HSQLCacheAttributes cattr;
+ private HSQLCacheAttributes cattr;
// for now use one statement per cache and keep it open
// can move up to manager level or implement pooling if there are too many
// caches
- Connection cConn;
-
- Statement sStatement;
+ private Connection cConn;
/**
* Constructor for the HSQLCache object
@@ -94,13 +91,26 @@
log.error( e );
}
}
+ else
+ {
+ try
+ {
+ File dir = new File( rafroot );
+ dir.mkdir();
+ }
+ catch ( Exception e )
+ {
+ log.error( "Problem creating directory.", e );
+ }
+ }
try
{
Properties p = new Properties();
String driver = p.getProperty( "driver", "org.hsqldb.jdbcDriver" );
String url = p.getProperty( "url", "jdbc:hsqldb:" );
- String database = p.getProperty( "database", "cache_hsql_db" );
+ // TODO trim trailling / from root
+ String database = p.getProperty( "database", rafroot + "/cache_hsql_db" );
String user = p.getProperty( "user", "sa" );
String password = p.getProperty( "password", "" );
boolean test = p.getProperty( "test", "true" ).equalsIgnoreCase( "true" );
@@ -124,18 +134,32 @@
Class.forName( driver ).newInstance();
cConn = DriverManager.getConnection( url + database, user, password );
-
+ Statement sStatement = null;
try
{
sStatement = cConn.createStatement();
- isAlive = true;
+ alive = true;
}
catch ( SQLException e )
{
+ log.error( "Problem creating statement.", e );
System.out.println( "Exception: " + e );
- isAlive = false;
+ alive = false;
+ }
+ finally
+ {
+ try
+ {
+ if ( sStatement != null )
+ {
+ sStatement.close();
+ }
+ }
+ catch ( SQLException e1 )
+ {
+ log.error( "Problem closing statement.", e1 );
+ }
}
-
setupTABLE();
}
catch ( Exception e )
@@ -145,7 +169,7 @@
}
catch ( Exception e )
{
- log.error( e );
+ log.error( "Problem creating HSQL", e );
}
} // end constructor
@@ -156,9 +180,24 @@
String setup = "create table " + cacheName + " (KEY varchar(255) primary key, ELEMENT binary)";
+ Statement sStatement = null;
+ try
+ {
+ sStatement = cConn.createStatement();
+ alive = true;
+ }
+ catch ( SQLException e )
+ {
+ log.error( "Problem creating statement.", e );
+ //System.out.println( "Exception: " + e );
+ alive = false;
+ return;
+ }
+
try
{
sStatement.executeQuery( setup );
+ sStatement.close();
}
catch ( SQLException e )
{
@@ -166,7 +205,8 @@
{
newT = false;
}
- log.error( e );
+ // TODO figure out if it exists prior to trying to create it.
+ log.error( "Problem creating table.", e );
}
String setupData[] = { "create index iKEY on " + cacheName + " (KEY)" };
@@ -187,13 +227,36 @@
} // end ifnew
}
- /** Description of the Method */
- public void doUpdate( ICacheElement ce )
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.jcs.auxiliary.disk.AbstractDiskCache#doUpdate(org.apache.jcs.engine.behavior.ICacheElement)
+ */
+ public synchronized void doUpdate( ICacheElement ce )
{
- log.debug( "update" );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "updating, ce = " + ce );
+ }
- if ( !isAlive )
+ Statement sStatement = null;
+ try
{
+ sStatement = cConn.createStatement();
+ alive = true;
+ }
+ catch ( SQLException e )
+ {
+ log.error( "Problem creating statement.", e );
+ alive = false;
+ }
+
+ if ( !alive )
+ {
+ if ( log.isInfoEnabled() )
+ {
+ log.info( "Disk is not alive, aborting put." );
+ }
return;
}
@@ -235,6 +298,17 @@
{
log.error( e );
}
+ finally
+ {
+ try
+ {
+ sStatement.close();
+ }
+ catch ( SQLException e1 )
+ {
+ log.error( "Problem closing statement.", e1 );
+ }
+ }
// If it doesn't exist, insert it, otherwise update
@@ -279,20 +353,24 @@
}
catch ( SQLException e2 )
{
- log.error( "e2 Exception: " + e2 );
+ log.error( "e2 Exception: ", e2 );
}
}
}
- /** Description of the Method */
- public ICacheElement doGet( Serializable key )
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.jcs.auxiliary.disk.AbstractDiskCache#doGet(java.io.Serializable)
+ */
+ public synchronized ICacheElement doGet( Serializable key )
{
if ( log.isDebugEnabled() )
{
- log.debug( "getting " + key + " from disk" );
+ log.debug( "Getting " + key + " from disk" );
}
- if ( !isAlive )
+ if ( !alive )
{
return null;
}
@@ -353,8 +431,11 @@
/**
* Returns true if the removal was succesful; or false if there is nothing
* to remove. Current implementation always result in a disk orphan.
+ *
+ * @param key
+ * @return boolean
*/
- public boolean doRemove( Serializable key )
+ public synchronized boolean doRemove( Serializable key )
{
// remove single item.
String sql = "delete from " + cacheName + " where KEY = '" + key + "'";
@@ -367,14 +448,34 @@
sql = "delete from " + cacheName + " where KEY = like '" + key + "%'";
}
+ Statement sStatement = null;
try
{
+ sStatement = cConn.createStatement();
+ alive = true;
+
sStatement.executeQuery( sql );
}
catch ( SQLException e )
{
- log.error( e );
+ log.error( "Problem creating statement.", e );
+ alive = false;
+ }
+ finally
+ {
+ try
+ {
+ if ( sStatement != null )
+ {
+ sStatement.close();
+ }
+ }
+ catch ( SQLException e1 )
+ {
+ log.error( "Problem closing statement.", e1 );
+ }
}
+
}
catch ( Exception e )
{
@@ -385,7 +486,7 @@
}
/** Description of the Method */
- public void doRemoveAll()
+ public synchronized void doRemoveAll()
{
try
{
@@ -422,6 +523,10 @@
/**
* Returns the serialized form of the given object in a byte array.
+ *
+ * @param obj
+ * @return byte[]
+ * @throws IOException
*/
static byte[] serialize( Serializable obj )
throws IOException
@@ -439,6 +544,11 @@
return baos.toByteArray();
}
+ /**
+ * @param groupName
+ * @return
+ *
+ */
public Set getGroupKeys( String groupName )
{
if ( true )
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheAttributes.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheAttributes.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheAttributes.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheAttributes.java Fri Aug 26 05:47:59 2005
@@ -55,7 +55,11 @@
return this.diskPath;
}
- /** Description of the Method */
+ /**
+ * Clone
+ *
+ * @return
+ */
public AuxiliaryCacheAttributes copy()
{
try
@@ -68,7 +72,11 @@
return this;
}
- /** Description of the Method */
+ /**
+ * For debugging only
+ *
+ * @return String
+ */
public String toString()
{
StringBuffer str = new StringBuffer();
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheFactory.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheFactory.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheFactory.java Fri Aug 26 05:47:59 2005
@@ -16,12 +16,17 @@
* limitations under the License.
*/
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.jcs.auxiliary.AuxiliaryCache;
import org.apache.jcs.auxiliary.AuxiliaryCacheAttributes;
import org.apache.jcs.auxiliary.AuxiliaryCacheFactory;
import org.apache.jcs.engine.behavior.ICompositeCacheManager;
/**
+ *
+ * HSQLCacheFactory creates HSQL caches via a manager.
+ *
* @version 1.0
*/
@@ -30,6 +35,8 @@
{
private String name;
+ private static final Log log = LogFactory.getLog( HSQLCacheFactory.class );
+
/*
* (non-Javadoc)
*
@@ -40,7 +47,20 @@
{
HSQLCacheAttributes idca = (HSQLCacheAttributes) iaca;
HSQLCacheManager dcm = HSQLCacheManager.getInstance( idca );
- return dcm.getCache( idca );
+
+ if ( log.isInfoEnabled() )
+ {
+ log.info( "HSQLCacheManager = " + dcm );
+ }
+
+ AuxiliaryCache cache = dcm.getCache( idca );
+
+ if ( log.isInfoEnabled() )
+ {
+ log.info( "HSQL cache = " + cache );
+ }
+
+ return cache;
}
/**
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheManager.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheManager.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheManager.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/HSQLCacheManager.java Fri Aug 26 05:47:59 2005
@@ -19,11 +19,10 @@
import java.util.Enumeration;
import java.util.Hashtable;
-import org.apache.jcs.auxiliary.AuxiliaryCacheManager;
-import org.apache.jcs.auxiliary.AuxiliaryCache;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.jcs.auxiliary.AuxiliaryCache;
+import org.apache.jcs.auxiliary.AuxiliaryCacheManager;
/**
* Description of the Class
@@ -65,6 +64,8 @@
/**
* Gets the instance attribute of the HSQLCacheManager class
*
+ * @param cattr
+ *
* @return The instance value
*/
public static HSQLCacheManager getInstance( HSQLCacheAttributes cattr )
@@ -84,6 +85,8 @@
/**
* Gets the cache attribute of the HSQLCacheManager object
*
+ * @param cacheName
+ *
* @return The cache value
*/
public AuxiliaryCache getCache( String cacheName )
@@ -96,6 +99,8 @@
/**
* Gets the cache attribute of the HSQLCacheManager object
*
+ * @param cattr
+ *
* @return The cache value
*/
public AuxiliaryCache getCache( HSQLCacheAttributes cattr )
@@ -115,10 +120,17 @@
}
}
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "HSQL cache = " + raf );
+ }
+
return raf;
}
- /** Description of the Method */
+ /*
+ *
+ */
public void freeCache( String name )
{
HSQLCache raf = (HSQLCache) caches.get( name );
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/behavior/IHSQLCacheService.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/behavior/IHSQLCacheService.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/behavior/IHSQLCacheService.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/hsql/behavior/IHSQLCacheService.java Fri Aug 26 05:47:59 2005
@@ -30,15 +30,34 @@
extends ICacheService
{
- /** Puts a cache item to the cache. */
+ /**
+ * Puts a cache item to the cache.
+ *
+ * @param item
+ * @param requesterId
+ * @throws IOException
+ */
public void update( ICacheElement item, long requesterId )
throws IOException;
- /** Removes the given key from the specified cache. */
+ /**
+ * Removes the given key from the specified cache.
+ *
+ * @param cacheName
+ * @param key
+ * @param requesterId
+ * @throws IOException
+ */
public void remove( String cacheName, Serializable key, long requesterId )
throws IOException;
- /** Remove all keys from the sepcified cache. */
+ /**
+ * Remove all keys from the sepcified cache.
+ *
+ * @param cacheName
+ * @param requesterId
+ * @throws IOException
+ */
public void removeAll( String cacheName, long requesterId )
throws IOException;
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCacheFactory.java Fri Aug 26 05:47:59 2005
@@ -41,6 +41,8 @@
* <p>
* One disk cache is returned per region fromt he maanger.
*
+ * @param iaca
+ *
* @param cacheMgr
* This allows auxiliaries to reference the manager without
* assuming that it is a singleton. This will allow JCS to be a
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCache.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCache.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCache.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCache.java Fri Aug 26 05:47:59 2005
@@ -30,6 +30,7 @@
import com.coyotegulch.jisp.BTreeIndex;
import com.coyotegulch.jisp.IndexedObjectDatabase;
import com.coyotegulch.jisp.KeyObject;
+import com.sun.rsasign.i;
/**
* JISP disk cache implementation. Slow as hell with this type of key.
@@ -46,21 +47,18 @@
private int numInstances = 0;
- /** Description of the Field */
- public boolean isAlive = false;
-
- JISPCacheAttributes cattr;
+ private JISPCacheAttributes cattr;
//JISP ACCESS
- IndexedObjectDatabase database;
+ private IndexedObjectDatabase database;
- BTreeIndex index1;
+ private BTreeIndex index1;
private static int s_order = 101;
- String jispDataFileName = "default_this_is_BAD";
+ private String jispDataFileName = "default_this_is_BAD";
- String jispIndexFileName = "default_this_is_BAD";
+ private String jispIndexFileName = "default_this_is_BAD";
/**
* Constructor for the JISPCache object
@@ -71,6 +69,8 @@
{
super( (IDiskCacheAttributes) cattr );
+ this.cattr = cattr;
+
numInstances++;
String rafroot = cattr.getDiskPath();
@@ -81,8 +81,15 @@
rafroot = "";
}
- jispDataFileName = rafroot + cacheName + "DATA.jisp";
- jispIndexFileName = rafroot + cacheName + "INDEX.jisp";
+ // make the file
+ File dir = new File( rafroot );
+ if ( !dir.exists() )
+ {
+ dir.mkdir();
+ }
+
+ jispDataFileName = rafroot + "/" + cacheName + "DATA.jisp";
+ jispIndexFileName = rafroot + "/" + cacheName + "INDEX.jisp";
log.debug( "jispDataFileName = " + jispDataFileName );
@@ -108,7 +115,7 @@
reset();
}
- isAlive = true;
+ alive = true;
}
catch ( Exception e )
@@ -135,14 +142,22 @@
if ( killit.exists() )
{
killit.delete();
+ if ( log.isInfoEnabled() )
+ {
+ log.info( "Removing old data file." );
+ }
}
- killit = new File( jispIndexFileName );
+ File killitIndex = new File( jispIndexFileName );
- if ( killit.exists() )
+ if ( killitIndex.exists() )
{
- killit.delete();
- }
+ killitIndex.delete();
+ if ( log.isInfoEnabled() )
+ {
+ log.info( "Removing old index file." );
+ }
+ }
}
catch ( Exception e )
{
@@ -154,7 +169,12 @@
// end setupTable
- /** Description of the Method */
+ /**
+ * Create the datafiles.
+ *
+ * @param clear
+ * @throws Exception
+ */
public void createDB( boolean clear )
throws Exception
{
@@ -167,21 +187,26 @@
index1 = new BTreeIndex( jispIndexFileName, s_order, new JISPKey(), false );
database.attachIndex( index1 );
+ alive = true;
}
catch ( Exception e )
{
System.out.println( "Exception: " + e );
- log.error( e );
+ log.error( "Problem creating table.", e );
throw e;
}
}
- /** Description of the Method */
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.jcs.auxiliary.disk.AbstractDiskCache#doUpdate(org.apache.jcs.engine.behavior.ICacheElement)
+ */
protected void doUpdate( ICacheElement ce )
{
- if ( !isAlive )
+ if ( !alive )
{
- log.warn( "not alive" );
+ log.warn( "Jisp is not alive" );
return;
}
@@ -202,13 +227,18 @@
}
catch ( Exception e )
{
- log.error( e );
+ log.error( "Problem putting to jisp.", e );
+ reset();
}
return;
}
- /** Description of the Method */
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.jcs.auxiliary.disk.AbstractDiskCache#doGet(java.io.Serializable)
+ */
protected ICacheElement doGet( Serializable key )
{
if ( log.isDebugEnabled() )
@@ -216,7 +246,7 @@
log.debug( "getting " + key + " from disk" );
}
- if ( !isAlive )
+ if ( !alive )
{
return null;
}
@@ -257,21 +287,25 @@
/**
* Returns true if the removal was succesful; or false if there is nothing
* to remove. Current implementation always result in a disk orphan.
+ *
+ * @param key
+ * @return boolean
*/
protected boolean doRemove( Serializable key )
{
KeyObject[] keyArray = new JISPKey[1];
keyArray[0] = new JISPKey( key );
-
+
try
{
// FIXME: Partial removal not yet implemented for JISP.
database.remove( keyArray );
+ //database.remove( new JISPKey( key ) );
}
catch ( Exception e )
{
- log.error( e );
+ log.error( "Problem removing element from jisp", e );
reset();
}
return false;
@@ -294,7 +328,10 @@
/** Description of the Method */
private void reset()
{
-
+ alive = false;
+
+ log.warn( "Resetting Jisp cache" );
+
try
{
setupTABLE();
@@ -323,7 +360,7 @@
public void doDispose()
{
- if ( !isAlive )
+ if ( !alive )
{
log.error( "is not alive and close() was called -- " + this.jispDataFileName );
return;
@@ -339,7 +376,7 @@
}
finally
{
- isAlive = false;
+ alive = false;
}
// TODO: can we defragment here?
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheFactory.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheFactory.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheFactory.java Fri Aug 26 05:47:59 2005
@@ -44,6 +44,12 @@
{
JISPCacheAttributes idca = (JISPCacheAttributes) iaca;
JISPCacheManager dcm = JISPCacheManager.getInstance( idca );
+
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Created JISP, " + dcm );
+ }
+
return dcm.getCache( idca );
}
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheManager.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheManager.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheManager.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPCacheManager.java Fri Aug 26 05:47:59 2005
@@ -63,6 +63,7 @@
/**
* Gets the instance attribute of the JISPCacheManager class
+ * @param cattr
*
* @return The instance value
*/
@@ -82,6 +83,7 @@
/**
* Gets the cache attribute of the JISPCacheManager object
+ * @param cacheName
*
* @return The cache value
*/
@@ -94,6 +96,7 @@
/**
* Gets the cache attribute of the JISPCacheManager object
+ * @param cattr
*
* @return The cache value
*/
@@ -118,7 +121,10 @@
return raf;
}
- /** Description of the Method */
+ /**
+ *
+ * @param name
+ */
public void freeCache( String name )
{
JISPCache raf = (JISPCache) caches.get( name );
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPKey.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPKey.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPKey.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jisp/JISPKey.java Fri Aug 26 05:47:59 2005
@@ -16,15 +16,12 @@
* limitations under the License.
*/
-import com.coyotegulch.jisp.KeyObject;
-
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.Serializable;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import com.coyotegulch.jisp.KeyObject;
/**
* Description of the Class
@@ -33,9 +30,7 @@
public class JISPKey
extends KeyObject
{
- private final static Log log = LogFactory.getLog( JISPKey.class );
-
- /** Description of the Field */
+ /** The key for jisp */
public Serializable m_key;
/**
@@ -55,7 +50,11 @@
m_key = "";
}
- /** Description of the Method */
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.coyotegulch.jisp.KeyObject#compareTo(com.coyotegulch.jisp.KeyObject)
+ */
public int compareTo( KeyObject key )
{
@@ -82,7 +81,11 @@
return KEY_ERROR;
}
- /** Description of the Method */
+ /**
+ * Description of the Method
+ *
+ * @return
+ */
public KeyObject makeNullKey()
{
JISPKey nullKey = new JISPKey();
@@ -90,32 +93,46 @@
return nullKey;
}
- /** Description of the Method */
+ /**
+ * Description of the Method
+ *
+ * @param out
+ * @throws IOException
+ */
public void writeExternal( ObjectOutput out )
throws IOException
{
out.writeObject( m_key );
}
- /** Description of the Method */
+ /**
+ * Description of the Method
+ *
+ * @param in
+ * @throws IOException
+ * @throws ClassNotFoundException
+ */
public void readExternal( ObjectInput in )
throws IOException, ClassNotFoundException
{
m_key = ( (Serializable) ( in.readObject() ) );
}
- // public int intValue()
- // {
- // return m_key;
- // }
-
- /** Description of the Method */
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
public String toString()
{
return m_key.toString();
}
- /** Description of the Method */
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
public boolean equals( Object obj )
{
if ( ( obj != null ) && ( obj instanceof JISPKey ) )
@@ -129,7 +146,11 @@
return false;
}
- /** Description of the Method */
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#hashCode()
+ */
public int hashCode()
{
int hash = m_key.hashCode();
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/javagroups/JavaGroupsCacheFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/javagroups/JavaGroupsCacheFactory.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/javagroups/JavaGroupsCacheFactory.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/javagroups/JavaGroupsCacheFactory.java Fri Aug 26 05:47:59 2005
@@ -79,6 +79,7 @@
/**
* Accessor for name property
+ * @return String
*/
public String getName()
{
@@ -87,6 +88,7 @@
/**
* Mutator for name property
+ * @param name
*/
public void setName( String name )
{
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheManager.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheManager.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheManager.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheManager.java Fri Aug 26 05:47:59 2005
@@ -126,6 +126,7 @@
* Constructor for the LateralCacheManager object
*
* @param lcaA
+ * @param cacheMgr
*/
private LateralCacheManager( ILateralCacheAttributes lcaA, ICompositeCacheManager cacheMgr )
{
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheMonitor.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheMonitor.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheMonitor.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/LateralCacheMonitor.java Fri Aug 26 05:47:59 2005
@@ -47,8 +47,6 @@
// can be detected!
private boolean alright = true;
- private final static int TIME = 0;
-
private final static int ERROR = 1;
private static int mode = ERROR;
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/behavior/ILateralCacheListener.java Fri Aug 26 05:47:59 2005
@@ -16,7 +16,6 @@
* limitations under the License.
*/
-import org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPListener;
import org.apache.jcs.engine.behavior.ICacheListener;
import org.apache.jcs.engine.behavior.ICompositeCacheManager;
@@ -32,10 +31,10 @@
public void init();
/**
- * @param cacheMgr The cacheMgr to set.
+ * @param cacheMgr
+ * The cacheMgr to set.
*/
public void setCacheManager( ICompositeCacheManager cacheMgr );
-
/**
* @return Returns the cacheMgr.
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralCacheJGListener.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralCacheJGListener.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralCacheJGListener.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralCacheJGListener.java Fri Aug 26 05:47:59 2005
@@ -58,8 +58,6 @@
private ILateralCacheAttributes ilca;
- private boolean inited = false;
-
private int puts = 0;
/**
@@ -91,7 +89,6 @@
log.error( ex );
throw new IllegalStateException( ex.getMessage() );
}
- inited = true;
}
/**
@@ -136,6 +133,7 @@
*
* @return The instance value
* @param ilca
+ * @param cacheMgr
*/
public static ILateralCacheListener getInstance( ILateralCacheAttributes ilca, ICompositeCacheManager cacheMgr )
{
@@ -148,9 +146,9 @@
if ( ins == null )
{
ins = new LateralCacheJGListener( ilca );
-
+
ins.setCacheManager( cacheMgr );
-
+
ins.init();
}
if ( log.isInfoEnabled() )
@@ -166,6 +164,7 @@
//////////////////////////// implements the ILateralCacheListener
// interface. //////////////
/**
+ * @param element
* @param cb
* @exception IOException
*/
@@ -257,13 +256,16 @@
if ( log.isDebugEnabled() )
{
log.debug( "handleDispose> cacheName=" + cacheName );
- }
+ }
// TODO handle active disposal
//this.getCacheManager().freeCache( cacheName, true );
}
/**
* Gets the cacheManager attribute of the LateralCacheTCPListener object
+ *
+ * @param name
+ * @return CompositeCache
*/
protected CompositeCache getCache( String name )
{
@@ -280,15 +282,19 @@
return cacheMgr.getCache( name );
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheListener#setCacheManager(org.apache.jcs.engine.behavior.ICompositeCacheManager)
*/
public void setCacheManager( ICompositeCacheManager cacheMgr )
{
- this.cacheMgr = cacheMgr;
+ this.cacheMgr = cacheMgr;
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheListener#getCacheManager()
*/
public ICompositeCacheManager getCacheManager()
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGSender.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGSender.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGSender.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGSender.java Fri Aug 26 05:47:59 2005
@@ -18,7 +18,6 @@
import java.io.IOException;
import java.io.Serializable;
-import java.net.InetAddress;
import java.util.Iterator;
import java.util.Vector;
@@ -33,8 +32,8 @@
import org.jgroups.Channel;
import org.jgroups.Message;
import org.jgroups.blocks.GroupRequest;
-import org.jgroups.blocks.RpcDispatcher;
import org.jgroups.blocks.MethodCall;
+import org.jgroups.blocks.RpcDispatcher;
import org.jgroups.util.RspList;
/**
@@ -50,10 +49,6 @@
private ILateralCacheAttributes ilca;
- private String remoteHost;
-
- private InetAddress address;
-
int port = 1111;
private Channel javagroups;
@@ -63,11 +58,6 @@
private JGConnectionHolder holder;
int counter = 0;
-
- /**
- * Only block for 5 seconds before timing out on startup.
- */
- private final static int openTimeOut = 5000;
/**
* Constructor for the LateralJGSender object
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGService.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGService.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGService.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/javagroups/LateralJGService.java Fri Aug 26 05:47:59 2005
@@ -58,6 +58,7 @@
throws IOException
{
this.ilca = lca;
+
try
{
log.debug( "creating sender" );
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/lateral/socket/tcp/LateralTCPService.java Fri Aug 26 05:47:59 2005
@@ -69,7 +69,7 @@
this.ilca = lca;
try
{
- log.debug( "creating sender" );
+ log.debug( "creating sender, attributes = " + ilca );
sender = new LateralTCPSender( lca );
@@ -88,7 +88,11 @@
// -------------------------------------------------------- Service Methods
- /** */
+ /**
+ * @param item
+ * @throws IOException
+ *
+ */
public void update( ICacheElement item )
throws IOException
{
@@ -149,7 +153,10 @@
// nothing needs to be done
}
- /** Will close the connection. */
+ /** Will close the connection.
+ * @param cache
+ * @throws IOException
+ */
public void dispose( String cache )
throws IOException
{
@@ -189,6 +196,9 @@
/**
* Gets the set of keys of objects currently in the group throws
* UnsupportedOperationException
+ * @param cacheName
+ * @param group
+ * @return Set
*/
public Set getGroupKeys( String cacheName, String group )
{
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java Fri Aug 26 05:47:59 2005
@@ -396,7 +396,6 @@
public void dispose()
throws IOException
{
- // remote.freeCache(cacheName);
log.debug( "disposing of remote cache" );
try
{
@@ -406,7 +405,6 @@
{
log.error( "couldn't dispose" );
handleException( ex, "Failed to dispose " + cacheName );
- //remote = null;
}
}
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheAttributes.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheAttributes.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheAttributes.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheAttributes.java Fri Aug 26 05:47:59 2005
@@ -18,7 +18,6 @@
import org.apache.jcs.auxiliary.AbstractAuxiliaryCacheAttributes;
import org.apache.jcs.auxiliary.AuxiliaryCacheAttributes;
-
import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheConstants;
@@ -45,8 +44,6 @@
private String failoverServers = "";
private String clusterServers = "";
-
- private boolean getFromCluster = true;
private int localPort = 0;
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFactory.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFactory.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFactory.java Fri Aug 26 05:47:59 2005
@@ -75,7 +75,7 @@
failovers.add( rca.getRemoteHost() + ":" + rca.getRemotePort() );
- RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca );
+ RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca, cacheMgr );
ICache ic = rcm.getCache( rca );
if ( ic != null )
{
@@ -102,7 +102,7 @@
rca.setRemoteHost( server.substring( 0, server.indexOf( ":" ) ) );
rca.setRemotePort( Integer.parseInt( server.substring( server.indexOf( ":" ) + 1 ) ) );
- RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca );
+ RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca, cacheMgr );
// add a listener if there are none, need to tell rca what
// number it is at
if ( ( !primayDefined && fCnt == 1 ) || noWaits.size() <= 0 )
@@ -138,7 +138,7 @@
//p( "tcp server = " + server );
rca.setRemoteHost( server.substring( 0, server.indexOf( ":" ) ) );
rca.setRemotePort( Integer.parseInt( server.substring( server.indexOf( ":" ) + 1 ) ) );
- RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca );
+ RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca, cacheMgr );
rca.setRemoteType( RemoteCacheAttributes.CLUSTER );
ICache ic = rcm.getCache( rca );
if ( ic != null )
@@ -155,7 +155,7 @@
// end if CLUSTER
RemoteCacheNoWaitFacade rcnwf = new RemoteCacheNoWaitFacade( (RemoteCacheNoWait[]) noWaits
- .toArray( new RemoteCacheNoWait[0] ), rca );
+ .toArray( new RemoteCacheNoWait[0] ), rca, cacheMgr );
getFacades().put( rca.getCacheName(), rcnwf );
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java Fri Aug 26 05:47:59 2005
@@ -17,6 +17,7 @@
*/
import org.apache.jcs.engine.behavior.ICache;
+import org.apache.jcs.engine.behavior.ICompositeCacheManager;
import org.apache.jcs.engine.CacheConstants;
import org.apache.commons.logging.Log;
@@ -52,16 +53,20 @@
private boolean alright = true;
+ private ICompositeCacheManager cacheMgr;
+
/**
* Constructor for the RemoteCacheFailoverRunner object. This allows the
* FailoverRunner to modify the facade that the CompositeCache references.
*
* @param facade,
* the facade the CompositeCache talks to.
+ * @param cacheMgr
*/
- public RemoteCacheFailoverRunner( RemoteCacheNoWaitFacade facade )
+ public RemoteCacheFailoverRunner( RemoteCacheNoWaitFacade facade, ICompositeCacheManager cacheMgr )
{
this.facade = facade;
+ this.cacheMgr = cacheMgr;
}
/**
@@ -182,7 +187,7 @@
rca = (RemoteCacheAttributes) facade.rca.copy();
rca.setRemoteHost( server.substring( 0, server.indexOf( ":" ) ) );
rca.setRemotePort( Integer.parseInt( server.substring( server.indexOf( ":" ) + 1 ) ) );
- RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca );
+ RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca, cacheMgr );
if ( log.isDebugEnabled() )
{
@@ -331,7 +336,7 @@
RemoteCacheAttributes rca = (RemoteCacheAttributes) facade.rca.copy();
rca.setRemoteHost( server.substring( 0, server.indexOf( ":" ) ) );
rca.setRemotePort( Integer.parseInt( server.substring( server.indexOf( ":" ) + 1 ) ) );
- RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca );
+ RemoteCacheManager rcm = RemoteCacheManager.getInstance( rca, cacheMgr );
// add a listener if there are none, need to tell rca what number it
// is at
@@ -376,7 +381,7 @@
rcaOld.setRemoteHost( serverOld.substring( 0, serverOld.indexOf( ":" ) ) );
rcaOld.setRemotePort( Integer.parseInt( serverOld.substring( serverOld
.indexOf( ":" ) + 1 ) ) );
- RemoteCacheManager rcmOld = RemoteCacheManager.getInstance( rcaOld );
+ RemoteCacheManager rcmOld = RemoteCacheManager.getInstance( rcaOld, cacheMgr );
if ( rcmOld != null )
{
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheListener.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheListener.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheListener.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheListener.java Fri Aug 26 05:47:59 2005
@@ -27,6 +27,7 @@
import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheConstants;
import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
import org.apache.jcs.engine.behavior.ICacheElement;
+import org.apache.jcs.engine.behavior.ICompositeCacheManager;
import org.apache.jcs.engine.control.CompositeCache;
import org.apache.jcs.engine.control.CompositeCacheManager;
@@ -44,7 +45,7 @@
* The cache manager used to put items in differnt regions. This is set
* lazily and should not be sent to the remote server.
*/
- protected static transient CompositeCacheManager cacheMgr;
+ protected transient ICompositeCacheManager cacheMgr;
/** The remote cache configuration object. */
protected IRemoteCacheAttributes irca;
@@ -69,11 +70,14 @@
* was specified in the configurtion.
*
* @param irca
+ * @param cacheMgr
*/
- public RemoteCacheListener( IRemoteCacheAttributes irca )
+ public RemoteCacheListener( IRemoteCacheAttributes irca, ICompositeCacheManager cacheMgr )
{
this.irca = irca;
+ this.cacheMgr = cacheMgr;
+
// Export this remote object to make it available to receive incoming
// calls,
// using an anonymous port unless the local port is specified.
@@ -251,8 +255,10 @@
{
log.debug( "handleDispose> cacheName=" + cacheName );
}
- CompositeCacheManager cm = cacheMgr;
- cm.freeCache( cacheName, true );
+ // TODO consider what to do here, we really don't want to
+ // dispose, we just want to disconnect.
+ // just allow the cache to go into error recovery mode.
+ //getCacheManager().freeCache( cacheName, true );
}
/**
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheManager.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheManager.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheManager.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheManager.java Fri Aug 26 05:47:59 2005
@@ -25,7 +25,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
import org.apache.jcs.auxiliary.AuxiliaryCache;
import org.apache.jcs.auxiliary.AuxiliaryCacheManager;
import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
@@ -33,6 +32,7 @@
import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheObserver;
import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheService;
import org.apache.jcs.engine.behavior.ICache;
+import org.apache.jcs.engine.behavior.ICompositeCacheManager;
/**
* An instance of RemoteCacheManager corresponds to one remote connection of a
@@ -78,6 +78,11 @@
private RemoteCacheWatchRepairable remoteWatch;
/**
+ * The cache manager listeners will need to use to get a cache.
+ */
+ private ICompositeCacheManager cacheMgr;
+
+ /**
* Constructs an instance to with the given remote connection parameters. If
* the connection cannot be made, "zombie" services will be temporarily used
* until a successful re-connection is made by the monitoring daemon.
@@ -85,13 +90,15 @@
* @param host
* @param port
* @param service
+ * @param cacheMgr
*/
- private RemoteCacheManager( String host, int port, String service )
+ private RemoteCacheManager( String host, int port, String service, ICompositeCacheManager cacheMgr )
{
this.host = host;
this.port = port;
this.service = service;
-
+ this.cacheMgr = cacheMgr;
+
String registry = "//" + host + ":" + port + "/" + service;
if ( log.isDebugEnabled() )
{
@@ -146,6 +153,7 @@
* The feature to be added to the RemoteCacheListener attribute
* @param listener
* The feature to be added to the RemoteCacheListener attribute
+ * @throws IOException
*/
public void addRemoteCacheListener( IRemoteCacheAttributes cattr, IRemoteCacheListener listener )
throws IOException
@@ -221,11 +229,13 @@
*
* If the connection cannot be established, zombie objects will be used for
* future recovery purposes.
+ * @param cattr
+ * @param cacheMgr
*
* @return The instance value
* @parma port port of the registry.
*/
- public static RemoteCacheManager getInstance( IRemoteCacheAttributes cattr )
+ public static RemoteCacheManager getInstance( IRemoteCacheAttributes cattr, ICompositeCacheManager cacheMgr )
{
String host = cattr.getRemoteHost();
@@ -250,7 +260,7 @@
if ( ins == null )
{
// cahnge to use cattr and to set defaults
- ins = new RemoteCacheManager( host, port, service );
+ ins = new RemoteCacheManager( host, port, service, cacheMgr );
ins.irca = cattr;
instances.put( loc, ins );
}
@@ -274,13 +284,10 @@
return ins;
}
+
/**
* Returns a remote cache for the given cache name.
- *
- * @return The cache value
- */
- /**
- * Returns a remote cache for the given cache name.
+ * @param cacheName
*
* @return The cache value
*/
@@ -295,6 +302,7 @@
* Gets a RemoteCacheNoWait from the RemoteCacheManager. The
* RemoteCacheNoWait are identified by the cache name value of the
* RemoteCacheAttributes object.
+ * @param cattr
*
* @return The cache value
*/
@@ -312,7 +320,7 @@
RemoteCacheListener listener = null;
try
{
- listener = new RemoteCacheListener( cattr );
+ listener = new RemoteCacheListener( cattr, cacheMgr );
addRemoteCacheListener( cattr, listener );
}
catch ( IOException ioe )
@@ -334,7 +342,9 @@
return c;
}
- /** Description of the Method */
+ /** Description of the Method
+ * @param name
+ * @throws IOException*/
public void freeCache( String name )
throws IOException
{
@@ -405,6 +415,8 @@
/**
* Fixes up all the caches managed by this cache manager.
+ * @param remoteService
+ * @param remoteWatch
*/
public void fixCaches( IRemoteCacheService remoteService, IRemoteCacheObserver remoteWatch )
{
@@ -454,7 +466,10 @@
this.port = port;
}
- /** Description of the Method */
+ /*
+ * (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
public boolean equals( Object obj )
{
if ( obj == this )
@@ -473,7 +488,10 @@
return host.equals( l.host ) && port == l.port;
}
- /** Description of the Method */
+ /**
+ *
+ * @return int
+ */
public int hashCode()
{
return host == null ? port : host.hashCode() ^ port;
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java
URL: http://svn.apache.org/viewcvs/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java?rev=240226&r1=240225&r2=240226&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java Fri Aug 26 05:47:59 2005
@@ -30,6 +30,7 @@
import org.apache.jcs.engine.CacheConstants;
import org.apache.jcs.engine.behavior.ICacheElement;
import org.apache.jcs.engine.behavior.ICacheType;
+import org.apache.jcs.engine.behavior.ICompositeCacheManager;
import org.apache.jcs.engine.stats.StatElement;
import org.apache.jcs.engine.stats.Stats;
import org.apache.jcs.engine.stats.behavior.IStatElement;
@@ -52,8 +53,10 @@
private String cacheName;
// holds failover and cluster information
- RemoteCacheAttributes rca;
+ protected RemoteCacheAttributes rca;
+ private ICompositeCacheManager cacheMgr;
+
/**
* Gets the remoteCacheAttributes attribute of the RemoteCacheNoWaitFacade
* object
@@ -83,8 +86,9 @@
*
* @param noWaits
* @param rca
+ * @param cacheMgr
*/
- public RemoteCacheNoWaitFacade( RemoteCacheNoWait[] noWaits, RemoteCacheAttributes rca )
+ public RemoteCacheNoWaitFacade( RemoteCacheNoWait[] noWaits, RemoteCacheAttributes rca, ICompositeCacheManager cacheMgr )
{
if ( log.isDebugEnabled() )
{
@@ -93,6 +97,7 @@
this.noWaits = noWaits;
this.rca = rca;
this.cacheName = rca.getCacheName();
+ this.cacheMgr = cacheMgr;
}
/**
@@ -316,7 +321,7 @@
if ( noWaits[i].getStatus() == CacheConstants.STATUS_ERROR )
{
// start failover, primary recovery process
- RemoteCacheFailoverRunner runner = new RemoteCacheFailoverRunner( this );
+ RemoteCacheFailoverRunner runner = new RemoteCacheFailoverRunner( this, cacheMgr );
// If the returned monitor is null, it means it's already
// started elsewhere.
if ( runner != null )
---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-dev-help@jakarta.apache.org