[infinispan-commits] Infinispan SVN: r236 - in trunk: cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary and 19 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Fri May 8 09:54:59 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-05-08 09:54:59 -0400 (Fri, 08 May 2009)
New Revision: 236
Modified:
trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java
trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/package-info.java
trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/package-info.java
trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/Key2StringMapper.java
trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/package-info.java
trunk/cachestore/s3/src/main/java/org/infinispan/loaders/s3/jclouds/JCloudsConnection.java
trunk/core/src/main/java/org/infinispan/AdvancedCache.java
trunk/core/src/main/java/org/infinispan/atomic/DeltaAware.java
trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
trunk/core/src/main/java/org/infinispan/config/RuntimeConfig.java
trunk/core/src/main/java/org/infinispan/container/FIFODataContainer.java
trunk/core/src/main/java/org/infinispan/container/entries/RepeatableReadEntry.java
trunk/core/src/main/java/org/infinispan/factories/annotations/Inject.java
trunk/core/src/main/java/org/infinispan/factories/scopes/Scope.java
trunk/core/src/main/java/org/infinispan/interceptors/base/CommandInterceptor.java
trunk/core/src/main/java/org/infinispan/jmx/ComponentsJmxRegistration.java
trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java
trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java
trunk/core/src/main/java/org/infinispan/notifications/cachelistener/annotation/CacheEntryLoaded.java
trunk/core/src/main/java/org/infinispan/transaction/TransactionManagerLookup.java
trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java
trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java
trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
trunk/tree/src/main/java/org/infinispan/tree/Node.java
trunk/tree/src/main/java/org/infinispan/tree/TreeCache.java
trunk/tree/src/main/java/org/infinispan/tree/package-info.java
Log:
Javadocs
Modified: trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java
===================================================================
--- trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -442,8 +442,8 @@
}
/**
- * @{inheritDoc} Writes the current count of cachestore entries followed by a pair of byte[]s corresponding to the
- * SleepyCat binary representation of {@link InternalCacheEntry#getKey() key} {@link InternalCacheEntry value}.
+ * Writes the current count of cachestore entries followed by a pair of byte[]s corresponding to the SleepyCat binary
+ * representation of {@link InternalCacheEntry#getKey() key} {@link InternalCacheEntry value}.
* <p/>
* This implementation holds a transaction open to ensure that we see no new records added while iterating.
*/
Modified: trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/package-info.java
===================================================================
--- trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/package-info.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/package-info.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -1,5 +1,5 @@
/**
- * This JDBC {@link CacheStore} implementation is optimized for storing binary (non-String)
+ * This JDBC CacheStore implementation is optimized for storing binary (non-String)
* keys in the cache.
*/
package org.infinispan.loaders.jdbc.binary;
\ No newline at end of file
Modified: trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/package-info.java
===================================================================
--- trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/package-info.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/package-info.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -1,5 +1,5 @@
/**
- * This is a delegating {@link CacheStore} implementation that delegates either to a binary
+ * This is a delegating CacheStore implementation that delegates either to a binary
* or String based JDBC cache store depending on the key used.
*/
package org.infinispan.loaders.jdbc.mixed;
\ No newline at end of file
Modified: trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/Key2StringMapper.java
===================================================================
--- trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/Key2StringMapper.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/Key2StringMapper.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -1,10 +1,9 @@
package org.infinispan.loaders.jdbc.stringbased;
/**
- * Defines the logic of mapping an key object to a String. This is required {@link
- * org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore}, in order to map each {@link
- * org.infinispan.loaders.StoredEntry} as an single row within a database. It bassically should generate an unique
- * String PK based on the supplied key.
+ * Defines the logic of mapping an key object to a String. This is required {@link JdbcStringBasedCacheStore}, in order
+ * to map each key as an single row within a database. It basically should generate a unique String PK based on the
+ * supplied key.
*
* @author Mircea.Markus at jboss.com
*/
Modified: trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/package-info.java
===================================================================
--- trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/package-info.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/package-info.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -1,5 +1,5 @@
/**
- * This JDBC {@link CacheStore} implementation is optimized for storing String
+ * This JDBC CacheStore implementation is optimized for storing String
* keys in the cache. If you can guarantee that your application would only use
* Strings as keys, then this implementation will perform better than binary or mixed
* implementations.
Modified: trunk/cachestore/s3/src/main/java/org/infinispan/loaders/s3/jclouds/JCloudsConnection.java
===================================================================
--- trunk/cachestore/s3/src/main/java/org/infinispan/loaders/s3/jclouds/JCloudsConnection.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/cachestore/s3/src/main/java/org/infinispan/loaders/s3/jclouds/JCloudsConnection.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -1,5 +1,7 @@
package org.infinispan.loaders.s3.jclouds;
+import static com.google.common.base.Preconditions.checkNotNull;
+import com.google.inject.Module;
import org.infinispan.loaders.s3.S3CacheStoreConfig;
import org.infinispan.loaders.s3.S3Connection;
import org.infinispan.loaders.s3.S3ConnectionException;
@@ -8,168 +10,160 @@
import org.jclouds.aws.s3.S3Context;
import org.jclouds.aws.s3.S3ContextFactory;
import org.jclouds.aws.s3.domain.S3Bucket;
-import org.jclouds.aws.s3.domain.S3Object;
import org.jclouds.aws.s3.nio.config.S3HttpNioConnectionPoolClientModule;
import org.jclouds.logging.jdk.config.JDKLoggingModule;
import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import com.google.inject.Module;
-
import java.io.InputStream;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import static com.google.common.base.Preconditions.checkNotNull;
-
/**
- * An JClouds implementation of {@link S3Connection}. This implementation uses
- * the threadsafe {@link S3HttpNioConnectionPoolClientModule} transport.
- *
+ * An JClouds implementation of {@link S3Connection}. This implementation uses the threadsafe {@link
+ * S3HttpNioConnectionPoolClientModule} transport.
+ *
* @author Adrian Cole
* @link http://code.google.com/p/jclouds
*/
public class JCloudsConnection
- implements
- S3Connection<org.jclouds.aws.s3.S3Connection, org.jclouds.aws.s3.domain.S3Bucket> {
- protected org.jclouds.aws.s3.S3Connection s3Service;
- protected S3Context context;
- protected Marshaller marshaller;
- protected S3CacheStoreConfig config;
+ implements
+ S3Connection<org.jclouds.aws.s3.S3Connection, org.jclouds.aws.s3.domain.S3Bucket> {
+ protected org.jclouds.aws.s3.S3Connection s3Service;
+ protected S3Context context;
+ protected Marshaller marshaller;
+ protected S3CacheStoreConfig config;
- /**
- * {@inheritDoc}
- */
- public void connect(S3CacheStoreConfig config, Marshaller m)
- throws S3ConnectionException {
- this.config = config;
- InputStream propertiesIS;
- try {
- propertiesIS = JCloudsConnection.class
- .getResourceAsStream("/jclouds.properties");
- Properties properties = new Properties();
- properties.load(propertiesIS);
- if (!config.isSecure()) {
- properties.setProperty(S3Constants.PROPERTY_HTTP_PORT, "80");
- properties.setProperty(S3Constants.PROPERTY_HTTP_SECURE,
- "false");
- }
- if (properties.containsKey(S3Constants.PROPERTY_AWS_MAP_TIMEOUT)) {
- config.setRequestTimeout(Long.parseLong(properties
- .getProperty(S3Constants.PROPERTY_AWS_MAP_TIMEOUT)));
- } else {
- properties.setProperty(S3Constants.PROPERTY_AWS_MAP_TIMEOUT,
- config.getRequestTimeout() + "");
- }
- if (!properties.containsKey(S3Constants.PROPERTY_AWS_ACCESSKEYID))
- properties.setProperty(S3Constants.PROPERTY_AWS_ACCESSKEYID,
- checkNotNull(config.getAwsAccessKey(),
- "config.getAwsAccessKey()"));
- if (!properties
- .containsKey(S3Constants.PROPERTY_AWS_SECRETACCESSKEY))
- properties.setProperty(
- S3Constants.PROPERTY_AWS_SECRETACCESSKEY, checkNotNull(
- config.getAwsSecretKey(),
- "config.getAwsSecretKey()"));
- if (!properties
- .containsKey(S3Constants.PROPERTY_POOL_MAX_CONNECTIONS))
- properties.setProperty(
- S3Constants.PROPERTY_POOL_MAX_CONNECTIONS, config
- .getMaxConnections()
- + "");
- // TODO proxy host/port
- Module loggingModule = org.infinispan.util.logging.LogFactory.IS_LOG4J_AVAILABLE ? new Log4JLoggingModule()
- : new JDKLoggingModule();
- this.context = S3ContextFactory.createS3Context(properties,
- new S3HttpNioConnectionPoolClientModule(), loggingModule);
- this.s3Service = context.getConnection();
- if (this.s3Service == null) {
- throw new S3ConnectionException("Could not connect");
- }
+ /**
+ * {@inheritDoc}
+ */
+ public void connect(S3CacheStoreConfig config, Marshaller m)
+ throws S3ConnectionException {
+ this.config = config;
+ InputStream propertiesIS;
+ try {
+ propertiesIS = JCloudsConnection.class
+ .getResourceAsStream("/jclouds.properties");
+ Properties properties = new Properties();
+ properties.load(propertiesIS);
+ if (!config.isSecure()) {
+ properties.setProperty(S3Constants.PROPERTY_HTTP_PORT, "80");
+ properties.setProperty(S3Constants.PROPERTY_HTTP_SECURE,
+ "false");
+ }
+ if (properties.containsKey(S3Constants.PROPERTY_AWS_MAP_TIMEOUT)) {
+ config.setRequestTimeout(Long.parseLong(properties
+ .getProperty(S3Constants.PROPERTY_AWS_MAP_TIMEOUT)));
+ } else {
+ properties.setProperty(S3Constants.PROPERTY_AWS_MAP_TIMEOUT,
+ config.getRequestTimeout() + "");
+ }
+ if (!properties.containsKey(S3Constants.PROPERTY_AWS_ACCESSKEYID))
+ properties.setProperty(S3Constants.PROPERTY_AWS_ACCESSKEYID,
+ checkNotNull(config.getAwsAccessKey(),
+ "config.getAwsAccessKey()"));
+ if (!properties
+ .containsKey(S3Constants.PROPERTY_AWS_SECRETACCESSKEY))
+ properties.setProperty(
+ S3Constants.PROPERTY_AWS_SECRETACCESSKEY, checkNotNull(
+ config.getAwsSecretKey(),
+ "config.getAwsSecretKey()"));
+ if (!properties
+ .containsKey(S3Constants.PROPERTY_POOL_MAX_CONNECTIONS))
+ properties.setProperty(
+ S3Constants.PROPERTY_POOL_MAX_CONNECTIONS, config
+ .getMaxConnections()
+ + "");
+ // TODO proxy host/port
+ Module loggingModule = org.infinispan.util.logging.LogFactory.IS_LOG4J_AVAILABLE ? new Log4JLoggingModule()
+ : new JDKLoggingModule();
+ this.context = S3ContextFactory.createS3Context(properties,
+ new S3HttpNioConnectionPoolClientModule(), loggingModule);
+ this.s3Service = context.getConnection();
+ if (this.s3Service == null) {
+ throw new S3ConnectionException("Could not connect");
+ }
- } catch (Exception ex) {
- throw convertToS3ConnectionException("Exception connecting to s3",
- ex);
- }
- this.marshaller = m;
- }
+ } catch (Exception ex) {
+ throw convertToS3ConnectionException("Exception connecting to s3",
+ ex);
+ }
+ this.marshaller = m;
+ }
- public org.jclouds.aws.s3.S3Connection getConnection()
- throws S3ConnectionException {
- return s3Service;
- }
+ public org.jclouds.aws.s3.S3Connection getConnection()
+ throws S3ConnectionException {
+ return s3Service;
+ }
- /**
- * @see
- */
- public org.jclouds.aws.s3.domain.S3Bucket verifyOrCreateBucket(
- String bucketName) throws S3ConnectionException {
- try {
- org.jclouds.aws.s3.domain.S3Bucket bucket = new org.jclouds.aws.s3.domain.S3Bucket(
- bucketName);
- s3Service.createBucketIfNotExists(bucketName).get(
- config.getRequestTimeout(), TimeUnit.MILLISECONDS);
- return bucket;
- } catch (Exception ex) {
- throw convertToS3ConnectionException(
- "Exception retrieving or creating s3 bucket " + bucketName,
- ex);
- }
- }
+ public org.jclouds.aws.s3.domain.S3Bucket verifyOrCreateBucket(
+ String bucketName) throws S3ConnectionException {
+ try {
+ org.jclouds.aws.s3.domain.S3Bucket bucket = new org.jclouds.aws.s3.domain.S3Bucket(
+ bucketName);
+ s3Service.createBucketIfNotExists(bucketName).get(
+ config.getRequestTimeout(), TimeUnit.MILLISECONDS);
+ return bucket;
+ } catch (Exception ex) {
+ throw convertToS3ConnectionException(
+ "Exception retrieving or creating s3 bucket " + bucketName,
+ ex);
+ }
+ }
- public void destroyBucket(String name) throws S3ConnectionException {
- try {
- context.createS3ObjectMap(name).clear();
- s3Service.deleteBucketIfEmpty(name);
- } catch (Exception ex) {
- throw convertToS3ConnectionException(
- "Exception removing s3 bucket " + name, ex);
- }
- }
+ public void destroyBucket(String name) throws S3ConnectionException {
+ try {
+ context.createS3ObjectMap(name).clear();
+ s3Service.deleteBucketIfEmpty(name);
+ } catch (Exception ex) {
+ throw convertToS3ConnectionException(
+ "Exception removing s3 bucket " + name, ex);
+ }
+ }
- Set<String> keysInBucket(S3Bucket bucket) throws S3ConnectionException {
- return context.createS3ObjectMap(bucket.getName()).keySet();
- }
+ Set<String> keysInBucket(S3Bucket bucket) throws S3ConnectionException {
+ return context.createS3ObjectMap(bucket.getName()).keySet();
+ }
- /**
- * {@inheritDoc}
- */
- public void copyBucket(String sourceBucket, String destinationBucket)
- throws S3ConnectionException {
- Set<String> sourceKeys;
- try {
- S3Bucket source = new S3Bucket(sourceBucket);
- source = s3Service.getBucket(sourceBucket).get(
- config.getRequestTimeout(), TimeUnit.MILLISECONDS);
- sourceKeys = keysInBucket(source);
+ /**
+ * {@inheritDoc}
+ */
+ public void copyBucket(String sourceBucket, String destinationBucket)
+ throws S3ConnectionException {
+ Set<String> sourceKeys;
+ try {
+ S3Bucket source = new S3Bucket(sourceBucket);
+ source = s3Service.getBucket(sourceBucket).get(
+ config.getRequestTimeout(), TimeUnit.MILLISECONDS);
+ sourceKeys = keysInBucket(source);
- for (String key : sourceKeys) {
- try {
- s3Service.copyObject(sourceBucket, key, destinationBucket, key).get(
- config.getRequestTimeout(), TimeUnit.MILLISECONDS);
- } catch (Exception ex) {
- throw convertToS3ConnectionException(
- "Exception while copying key " + key
- + " from bucket " + sourceBucket, ex);
- }
- }
- } catch (Exception ex) {
- throw convertToS3ConnectionException("Cannot access bucket "
- + sourceBucket, ex);
- }
+ for (String key : sourceKeys) {
+ try {
+ s3Service.copyObject(sourceBucket, key, destinationBucket, key).get(
+ config.getRequestTimeout(), TimeUnit.MILLISECONDS);
+ } catch (Exception ex) {
+ throw convertToS3ConnectionException(
+ "Exception while copying key " + key
+ + " from bucket " + sourceBucket, ex);
+ }
+ }
+ } catch (Exception ex) {
+ throw convertToS3ConnectionException("Cannot access bucket "
+ + sourceBucket, ex);
+ }
- }
+ }
- /**
- * @see S3Context#close
- */
- public void disconnect() {
- context.close();
- }
+ /**
+ * @see S3Context#close
+ */
+ public void disconnect() {
+ context.close();
+ }
- S3ConnectionException convertToS3ConnectionException(String message,
- Exception caught) {
- return (caught instanceof S3ConnectionException) ? (S3ConnectionException) caught
- : new S3ConnectionException(message, caught);
- }
+ S3ConnectionException convertToS3ConnectionException(String message,
+ Exception caught) {
+ return (caught instanceof S3ConnectionException) ? (S3ConnectionException) caught
+ : new S3ConnectionException(message, caught);
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/AdvancedCache.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/AdvancedCache.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/AdvancedCache.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -104,8 +104,6 @@
V remove(Object key, Flag... flags);
- boolean remove(Object key, Object oldValue, Flag... flags);
-
void clear(Flag... flags);
boolean containsKey(Object key, Flag... flags);
Modified: trunk/core/src/main/java/org/infinispan/atomic/DeltaAware.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/atomic/DeltaAware.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/atomic/DeltaAware.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -25,7 +25,7 @@
* This interface allows the extraction of deltas.
* <p/>
* Implementations would be closely coupled to a corresponding {@link Delta} implementation, since {@link
- * org.infinispan.atomic.Delta#instantiate()} would need to know how to recreate this instance of DeltaAware if needed.
+ * Delta#merge(DeltaAware)} would need to know how to recreate this instance of DeltaAware if needed.
* <p/>
*
* @author Manik Surtani (<a href="mailto:manik AT jboss DOT org">manik AT jboss DOT org</a>)
Modified: trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -2,7 +2,6 @@
import org.infinispan.CacheException;
import org.infinispan.Version;
-import org.infinispan.jmx.PlatformMBeanServerLookup;
import org.infinispan.executors.DefaultExecutorFactory;
import org.infinispan.executors.DefaultScheduledExecutorFactory;
import org.infinispan.factories.GlobalComponentRegistry;
@@ -10,6 +9,7 @@
import org.infinispan.factories.annotations.NonVolatile;
import org.infinispan.factories.scopes.Scope;
import org.infinispan.factories.scopes.Scopes;
+import org.infinispan.jmx.PlatformMBeanServerLookup;
import org.infinispan.lifecycle.ComponentStatus;
import org.infinispan.marshall.VersionAwareMarshaller;
import org.infinispan.remoting.transport.jgroups.JGroupsTransport;
@@ -70,9 +70,6 @@
/**
* If JMX statistics are enabled then all 'published' JMX objects will appear under this name. This is optional, if
* not specified an object name will be created for you by default.
- *
- * @see javax.management.ObjectName
- * @see #isExposeManagementStatistics()
*/
public void setJmxDomain(String jmxObjectName) {
testImmutability("jmxNameBase");
Modified: trunk/core/src/main/java/org/infinispan/config/RuntimeConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/RuntimeConfig.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/config/RuntimeConfig.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -57,24 +57,20 @@
/**
* This is only relevant if the async cache replication executor has been set using {@link
- * #setAsyncSerializationExecutor(java.util.concurrent.ExecutorService)}. If the executor is created internally, this
- * method will return null.
+ * #setAsyncSerializationExecutor(ExecutorService)}. If the executor is created internally, this method will return
+ * null.
* <p/>
*
* @return the executor used for async replication.
- * @since 4.0
*/
public ExecutorService getAsyncSerializationExecutor() {
return asyncSerializationExecutor;
}
/**
- * This is used to set the executor to use for async cache replucation, and effectively overrides {@link
- * Configuration#setSerializationExecutorPoolSize(int)}
- * <p/>
+ * This is used to set the executor to use for asynchronous cache operations.
*
* @param asyncSerializationExecutor executor to set
- * @since 4.0
*/
public void setAsyncSerializationExecutor(ExecutorService asyncSerializationExecutor) {
this.asyncSerializationExecutor = asyncSerializationExecutor;
@@ -87,19 +83,16 @@
* <p/>
*
* @return the executor to use for async cache listeners
- * @since 4.0
*/
public ExecutorService getAsyncCacheListenerExecutor() {
return asyncCacheListenerExecutor;
}
/**
- * This is used to set the executor to use for async cache listeners, and effectively overrides {@link
- * Configuration#setListenerAsyncPoolSize(int)}
+ * This is used to set the executor to use for asynchronous cache listeners.
* <p/>
*
* @param asyncCacheListenerExecutor the executor to use for async cache listeners
- * @since 4.0
*/
public void setAsyncCacheListenerExecutor(ExecutorService asyncCacheListenerExecutor) {
this.asyncCacheListenerExecutor = asyncCacheListenerExecutor;
Modified: trunk/core/src/main/java/org/infinispan/container/FIFODataContainer.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/FIFODataContainer.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/container/FIFODataContainer.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -169,8 +169,8 @@
/**
* A marker. If a reference in LinkedEntry (either to its previous or next entry) needs to be marked, it should be
* CAS'd with an instance of Marker that points to the actual entry. Typically this is done by calling {@link
- * org.infinispan.container.FIFODataContainer#markNextReference(org.infinispan.container.FIFODataContainer.LinkedEntry)}
- * or {@link org.infinispan.container.FIFODataContainer#markPrevReference(org.infinispan.container.FIFODataContainer.LinkedEntry)}
+ * FIFODataContainer#markNextReference(org.infinispan.container.FIFODataContainer.LinkedEntry)} or {@link
+ * FIFODataContainer#markPrevReference(org.infinispan.container.FIFODataContainer.LinkedEntry)}
*/
static final class Marker extends LinkedEntry {
Marker(LinkedEntry actual) {
@@ -192,7 +192,7 @@
/**
* Un-links an entry from the doubly linked list in a threadsafe, lock-free manner. The entry is typically retrieved
- * using {@link Segment#locklessRemove(Object, int)} after locking the Segment.
+ * using Segment#locklessRemove() after locking the Segment.
*
* @param entry entry to unlink
*/
Modified: trunk/core/src/main/java/org/infinispan/container/entries/RepeatableReadEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/RepeatableReadEntry.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/container/entries/RepeatableReadEntry.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -27,7 +27,7 @@
import org.infinispan.util.logging.LogFactory;
/**
- * An extension of {@link org.infinispan.container.ReadCommittedEntry} that provides Repeatable Read semantics
+ * An extension of {@link ReadCommittedEntry} that provides Repeatable Read semantics
*
* @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
* @since 4.0
Modified: trunk/core/src/main/java/org/infinispan/factories/annotations/Inject.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/factories/annotations/Inject.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/factories/annotations/Inject.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -21,15 +21,19 @@
*/
package org.infinispan.factories.annotations;
+import org.infinispan.factories.AbstractComponentFactory;
+import org.infinispan.factories.ComponentRegistry;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+
/**
* Used to annotate a method as one that is used to inject a registered component into another component. The component
- * to be constructed must be built using the {@link ComponentFactory#construct(Class)} method, or if your object that
- * needs components injected into it already exists, it can be built using the {@link
+ * to be constructed must be built using the {@link AbstractComponentFactory#construct(Class)} method, or if your object
+ * that needs components injected into it already exists, it can be built using the {@link
* ComponentRegistry#wireDependencies(Object)} method.
* <p/>
* Usage example:
Modified: trunk/core/src/main/java/org/infinispan/factories/scopes/Scope.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/factories/scopes/Scope.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/factories/scopes/Scope.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -5,7 +5,7 @@
/**
* Defines the scope of a component in a cache system. If not specified, components default to the {@link
- * Scopes#EITHER} scope.
+ * Scopes#NAMED_CACHE} scope.
*
* @author Manik Surtani
* @see Scopes
Modified: trunk/core/src/main/java/org/infinispan/interceptors/base/CommandInterceptor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/interceptors/base/CommandInterceptor.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/interceptors/base/CommandInterceptor.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -21,40 +21,44 @@
*/
package org.infinispan.interceptors.base;
+import org.infinispan.Cache;
+import org.infinispan.CacheDelegate;
import org.infinispan.commands.AbstractVisitor;
import org.infinispan.commands.VisitableCommand;
+import org.infinispan.commands.Visitor;
+import org.infinispan.commands.read.GetKeyValueCommand;
import org.infinispan.config.Configuration;
import org.infinispan.context.InvocationContext;
import org.infinispan.factories.annotations.Inject;
import org.infinispan.factories.scopes.Scope;
import org.infinispan.factories.scopes.Scopes;
+import org.infinispan.interceptors.InterceptorChain;
+import org.infinispan.remoting.InboundInvocationHandler;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
/**
- * This is the base class for all interceptors to extend, and implements the {@link org.infinispan.commands.Visitor}
- * interface allowing it to intercept invocations on {@link org.infinispan.commands.VisitableCommand}s.
+ * This is the base class for all interceptors to extend, and implements the {@link Visitor} interface allowing it to
+ * intercept invocations on {@link VisitableCommand}s.
* <p/>
- * Commands are either created by the {@link org.infinispan.CacheDelegate} (for invocations on the {@link
- * org.infinispan.Cache} public interface), or by the {@link org.infinispan.marshall.CommandAwareRpcDispatcher} for
- * remotely originating invocations, and are passed up the interceptor chain by using the {@link
- * org.infinispan.interceptors.InterceptorChain} helper class.
+ * Commands are either created by the {@link CacheDelegate} (for invocations on the {@link Cache} public interface), or
+ * by the {@link InboundInvocationHandler} for remotely originating invocations, and are passed up the interceptor chain
+ * by using the {@link InterceptorChain} helper class.
* <p/>
* When writing interceptors, authors can either override a specific visitXXX() method (such as {@link
- * #visitGetKeyValueCommand(org.infinispan.context.InvocationContext, org.infinispan.commands.read.GetKeyValueCommand)})
- * or the more generic {@link #handleDefault(org.infinispan.context.InvocationContext,
- * org.infinispan.commands.VisitableCommand)} which is the default behaviour of any visit method, as defined in {@link
- * AbstractVisitor#handleDefault(org.infinispan.context.InvocationContext, org.infinispan.commands.VisitableCommand)}.
+ * #visitGetKeyValueCommand(InvocationContext, GetKeyValueCommand)}) or the more generic {@link
+ * #handleDefault(InvocationContext, VisitableCommand)} which is the default behaviour of any visit method, as defined
+ * in {@link AbstractVisitor#handleDefault(InvocationContext, VisitableCommand)}.
* <p/>
* The preferred approach is to override the specific visitXXX() methods that are of interest rather than to override
- * {@link #handleDefault(org.infinispan.context.InvocationContext, org.infinispan.commands.VisitableCommand)} and then
- * write a series of if statements or a switch block, if command-specific behaviour is needed.
+ * {@link #handleDefault(InvocationContext, VisitableCommand)} and then write a series of if statements or a switch
+ * block, if command-specific behaviour is needed.
* <p/>
*
* @author Mircea.Markus at jboss.com
- * @see org.infinispan.commands.VisitableCommand
- * @see org.infinispan.commands.Visitor
- * @see org.infinispan.interceptors.InterceptorChain
+ * @see VisitableCommand
+ * @see Visitor
+ * @see InterceptorChain
* @since 4.0
*/
@Scope(Scopes.NAMED_CACHE)
Modified: trunk/core/src/main/java/org/infinispan/jmx/ComponentsJmxRegistration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/jmx/ComponentsJmxRegistration.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/jmx/ComponentsJmxRegistration.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -35,7 +35,7 @@
import java.util.Set;
/**
- * Registers a set of {@link AbstractComponentRegistry.Component} to an Mbean server.
+ * Registers a set of components on an MBean server.
*
* @author Mircea.Markus at jboss.com
* @since 4.0
@@ -57,9 +57,9 @@
/**
* C-tor.
*
- * @param mBeanServer the server where mbeans are being registered
- * @param cache cache that needs to be monitored
- * @param objectNameBase path in the MBeanServer where to register cache MBeans
+ * @param mBeanServer the server where mbeans are being registered
+ * @param components components
+ * @param groupName group name
* @see java.lang.management.ManagementFactory#getPlatformMBeanServer()
* @see <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/mxbeans.html#mbean_server">platform
* MBeanServer</a>
Modified: trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -12,16 +12,15 @@
import java.util.Set;
/**
- * This class extends {@link org.infinispan.loaders.AbstractCacheStore} adding lock support for consistently acceessing
- * stored data.
+ * This class extends {@link AbstractCacheStore} adding lock support for consistently acceessing stored data.
* <p/>
* In-memory locking is needed by aggregation operations(e.g. loadAll, toStream, fromStream) to make sure that
* manipulated data won't be corrupted by concurrent access to Store. It also assurce atomic data access for each stored
* entry.
* <p/>
- * Locking is based on a {@link org.infinispan.util.concurrent.locks.StripedLock}. You can tune the concurrency level of
- * the striped lock (see the Javadocs of StripedLock for details on what this is) by using the {@link
- * org.infinispan.loaders.LockSupportCacheStore#setLockConcurrencyLevel(int)} setter.
+ * Locking is based on a {@link StripedLock}. You can tune the concurrency level of the striped lock (see the Javadocs
+ * of StripedLock for details on what this is) by using the {@link LockSupportCacheStoreConfig#setLockConcurrencyLevel(int)}
+ * setter.
* <p/>
*
* @author Mircea.Markus at jboss.com
Modified: trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -23,9 +23,9 @@
* Loads the bucket coresponding to the given key, and lookups the key within it. if the bucket is found and the key
* is expired, then it won't be returned.
*
- * @param key the passed in key, from {@link super#load(Object)}
- * @param lockingKey the hash of the key, as returned by {@link super#getLockFromKey(Object)}. This is present here
- * in order to avoid hash recomputation.
+ * @param key the passed in key, from {@link LockSupportCacheStore#load(Object)}
+ * @param lockingKey the hash of the key, as returned by {@link LockSupportCacheStore#getLockFromKey(Object)}. This
+ * is present here in order to avoid hash recomputation.
*/
protected InternalCacheEntry loadLockSafe(Object key, String lockingKey) throws CacheLoaderException {
Bucket bucket = loadBucket(lockingKey);
@@ -42,8 +42,8 @@
* Tries to find a bucket corresponding to storedEntry's key, and updates it with the storedEntry. If no bucket is
* found, a new one is created.
*
- * @param lockingKey the hash of the key, as returned by {@link super#getLockFromKey(Object)}. This is present here
- * in order to avoid hash recomputation.
+ * @param lockingKey the hash of the key, as returned by {@link LockSupportCacheStore#getLockFromKey(Object)}. This
+ * is present here in order to avoid hash recomputation.
*/
protected void storeLockSafe(InternalCacheEntry ed, String lockingKey) throws CacheLoaderException {
Bucket bucket = loadBucket(lockingKey);
@@ -62,11 +62,11 @@
* Lookups a bucket where the given key is stored. Then removes the StoredEntry having with gven key from there (if
* such a bucket exists).
*
- * @param lockingKey the hash of the key, as returned by {@link super#getLockFromKey(Object)}. This is present here
- * in order to avoid hash recomputation.
+ * @param lockingKey the hash of the key, as returned by {@link LockSupportCacheStore#getLockFromKey(Object)}. This
+ * is present here in order to avoid hash recomputation.
*/
- protected boolean removeLockSafe(Object key, String keyHashCodeStr) throws CacheLoaderException {
- Bucket bucket = loadBucket(keyHashCodeStr);
+ protected boolean removeLockSafe(Object key, String lockingKey) throws CacheLoaderException {
+ Bucket bucket = loadBucket(lockingKey);
if (bucket == null) {
return false;
} else {
@@ -77,8 +77,8 @@
}
/**
- * For {@link org.infinispan.loaders.bucket.BucketBasedCacheStore}s the lock should be acquired at bucket level. So
- * we're locking based on the hashCode of the key, as all keys having same hascode will be mapped to same bucket.
+ * For {@link BucketBasedCacheStore}s the lock should be acquired at bucket level. So we're locking based on the
+ * hashCode of the key, as all keys having same hascode will be mapped to same bucket.
*/
protected String getLockFromKey(Object key) {
return String.valueOf(key.hashCode());
Modified: trunk/core/src/main/java/org/infinispan/notifications/cachelistener/annotation/CacheEntryLoaded.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/notifications/cachelistener/annotation/CacheEntryLoaded.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/notifications/cachelistener/annotation/CacheEntryLoaded.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -21,6 +21,11 @@
*/
package org.infinispan.notifications.cachelistener.annotation;
+import org.infinispan.loaders.CacheLoader;
+import org.infinispan.notifications.IncorrectListenerException;
+import org.infinispan.notifications.Listener;
+import org.infinispan.notifications.cachelistener.event.CacheEntryLoadedEvent;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -28,14 +33,14 @@
/**
* This annotation should be used on methods that need to be notified when a cache entry is loaded from a {@link
- * org.infinispan.loaders.CacheLoaderOld}.
+ * CacheLoader}.
* <p/>
* Methods annotated with this annotation should be public and take in a single parameter, a {@link
- * org.infinispan.notifications.cachelistener.event.CacheEntryLoadedEvent} otherwise an {@link
- * org.infinispan.notifications.IncorrectListenerException} will be thrown when registering your cache listener.
+ * CacheEntryLoadedEvent} otherwise an {@link IncorrectListenerException} will be thrown when registering your cache
+ * listener.
*
* @author <a href="mailto:manik at jboss.org">Manik Surtani</a>
- * @see org.infinispan.notifications.Listener
+ * @see Listener
* @since 4.0
*/
@Retention(RetentionPolicy.RUNTIME)
Modified: trunk/core/src/main/java/org/infinispan/transaction/TransactionManagerLookup.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/transaction/TransactionManagerLookup.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/main/java/org/infinispan/transaction/TransactionManagerLookup.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -21,11 +21,14 @@
*/
package org.infinispan.transaction;
+import org.infinispan.Cache;
+import org.infinispan.config.Configuration;
+
import javax.transaction.TransactionManager;
/**
- * Factory interface, allows {@link org.infinispan.Cache} to use different transactional systems. Names of implementors of
- * this class can be configured using {@link Configuration#setTransactionManagerLookupClass}.
+ * Factory interface, allows {@link Cache} to use different transactional systems. Names of implementors of this class
+ * can be configured using {@link Configuration#setTransactionManagerLookupClass}.
*
* @author Bela Ban, Aug 26 2003
* @since 4.0
Modified: trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -15,11 +15,6 @@
import javax.management.ObjectName;
import javax.transaction.TransactionManager;
-/**
- * Tester class for {@link TxInterceptor} jmx stuff.
- *
- * @author Mircea.Markus at jboss.com
- */
@Test(groups = "functional", testName = "jmx.TxInterceptorMBeanTest")
public class TxInterceptorMBeanTest extends MultipleCacheManagersTest {
@@ -68,7 +63,7 @@
tm.commit();
assertCommitRollback(1, 0);
}
-
+
public void testRollback() throws Exception {
assertCommitRollback(0, 0);
tm.begin();
Modified: trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -29,7 +29,7 @@
protected final Log log = LogFactory.getLog(getClass());
- protected static enum CleanupPhase {
+ public static enum CleanupPhase {
AFTER_METHOD, AFTER_TEST
}
Modified: trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -24,8 +24,8 @@
* are expensive to create.
* </pre>
* If, however, you would like your cache managers destroyed after every <i>test method</i> instead of the </i>test
- * class</i>, you could set the <tt>cleanup</tt> field to {@link org.infinispan.test.MultipleCacheManagersTest.CleanupPhase#AFTER_METHOD}
- * in your test's constructor. E.g.:
+ * class</i>, you could set the <tt>cleanup</tt> field to {@link MultipleCacheManagersTest.CleanupPhase#AFTER_METHOD} in
+ * your test's constructor. E.g.:
* <pre>
* <p/>
* public void MyTest extends MultipleCacheManagersTest {
Modified: trunk/tree/src/main/java/org/infinispan/tree/Node.java
===================================================================
--- trunk/tree/src/main/java/org/infinispan/tree/Node.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/tree/src/main/java/org/infinispan/tree/Node.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -22,6 +22,7 @@
package org.infinispan.tree;
import net.jcip.annotations.ThreadSafe;
+import org.infinispan.Cache;
import org.infinispan.context.Flag;
import java.util.Map;
@@ -42,7 +43,7 @@
* <p/>
*
* @author <a href="mailto:manik AT jboss DOT org">Manik Surtani (manik AT jboss DOT org)</a>
- * @see org.infinispan.tree.TreeCache
+ * @see TreeCache
* @since 4.0
*/
@ThreadSafe
Modified: trunk/tree/src/main/java/org/infinispan/tree/TreeCache.java
===================================================================
--- trunk/tree/src/main/java/org/infinispan/tree/TreeCache.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/tree/src/main/java/org/infinispan/tree/TreeCache.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -24,6 +24,7 @@
import org.infinispan.Cache;
import org.infinispan.CacheException;
import org.infinispan.context.Flag;
+import org.infinispan.lifecycle.ComponentStatus;
import org.infinispan.lifecycle.Lifecycle;
import java.util.Map;
@@ -270,7 +271,7 @@
* @param newParent new location under which to attach the node being moved.
* @throws NodeNotExistsException may throw one of these if the target node does not exist or if a different thread
* has moved this node elsewhere already.
- * @throws IllegalStateException if {@link #getStatus()} would not return {@link org.infinispan.lifecycle.ComponentStatus#STARTED}.
+ * @throws IllegalStateException if {@link Cache#getStatus()} would not return {@link ComponentStatus#RUNNING}.
*/
void move(Fqn nodeToMove, Fqn newParent) throws NodeNotExistsException;
@@ -279,7 +280,7 @@
/**
* Convenience method that takes in string representations of Fqns. Otherwise identical to {@link #move(Fqn, Fqn)}
*
- * @throws IllegalStateException if {@link #getStatus()} would not return {@link org.infinispan.lifecycle.ComponentStatus#STARTED}.
+ * @throws IllegalStateException if {@link Cache#getStatus()} would not return {@link ComponentStatus#RUNNING}.
*/
void move(String nodeToMove, String newParent) throws NodeNotExistsException;
@@ -292,7 +293,7 @@
* @param fqn
* @return map of data, or an empty map
* @throws CacheException
- * @throws IllegalStateException if {@link #getStatus()} would not return {@link org.infinispan.lifecycle.ComponentStatus#STARTED}.
+ * @throws IllegalStateException if {@link Cache#getStatus()} would not return {@link ComponentStatus#RUNNING}.
*/
Map<K, V> getData(Fqn fqn);
@@ -313,7 +314,7 @@
* A convenience method to retrieving a node and getting keys from the node directly.
*
* @param fqn name of the node
- * @throws IllegalStateException if {@link #getStatus()} would not return {@link org.infinispan.lifecycle.ComponentStatus#STARTED}.
+ * @throws IllegalStateException if {@link Cache#getStatus()} would not return {@link ComponentStatus#RUNNING}.
*/
Set<K> getKeys(Fqn fqn);
@@ -323,7 +324,7 @@
* Convenience method that takes in a String represenation of the Fqn. Otherwise identical to {@link
* #clearData(Fqn)}.
*
- * @throws IllegalStateException if {@link #getStatus()} would not return {@link org.infinispan.lifecycle.ComponentStatus#STARTED}.
+ * @throws IllegalStateException if {@link Cache#getStatus()} would not return {@link ComponentStatus#RUNNING}.
*/
void clearData(String fqn);
@@ -335,7 +336,7 @@
* A convenience method to retrieving a node and getting keys from the node directly.
*
* @param fqn name of the node
- * @throws IllegalStateException if {@link #getStatus()} would not return {@link org.infinispan.lifecycle.ComponentStatus#STARTED}.
+ * @throws IllegalStateException if {@link Cache#getStatus()} would not return {@link ComponentStatus#RUNNING}.
*/
void clearData(Fqn fqn);
Modified: trunk/tree/src/main/java/org/infinispan/tree/package-info.java
===================================================================
--- trunk/tree/src/main/java/org/infinispan/tree/package-info.java 2009-05-08 11:59:42 UTC (rev 235)
+++ trunk/tree/src/main/java/org/infinispan/tree/package-info.java 2009-05-08 13:54:59 UTC (rev 236)
@@ -1,6 +1,6 @@
/**
- * This package contains the {@link TreeCache}. For usage, see the {@link TreeCache} and
- * {@link org.infinispan.tree.TreeCacheFactory} classes and their javadocs.
+ * This package contains the TreeCache. For usage, see the TreeCache and
+ * TreeCacheFactory classes and their javadocs.
* <p />
* This package is intended as a compatibility layer between JBoss Cache and Infinispan, and also
* as an API for when a tree structure is useful. In general though, this will not perform as
More information about the infinispan-commits
mailing list