You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2006/12/12 15:23:14 UTC
svn commit: r486160 - in
/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration:
ReplicationConfiguration.java ReplicationConfigurationException.java
Author: trustin
Date: Tue Dec 12 06:23:13 2006
New Revision: 486160
URL: http://svn.apache.org/viewvc?view=rev&rev=486160
Log:
Added JavaDoc for mitosis.configuration package
Modified:
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfiguration.java
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfigurationException.java
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfiguration.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfiguration.java?view=diff&rev=486160&r1=486159&r2=486160
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfiguration.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfiguration.java Tue Dec 12 06:23:13 2006
@@ -29,69 +29,105 @@
import java.util.Set;
import java.util.TreeSet;
+import org.apache.directory.mitosis.common.CSN;
import org.apache.directory.mitosis.common.CSNFactory;
import org.apache.directory.mitosis.common.Replica;
import org.apache.directory.mitosis.common.ReplicaId;
import org.apache.directory.mitosis.common.SimpleCSNFactory;
import org.apache.directory.mitosis.common.SimpleUUIDFactory;
+import org.apache.directory.mitosis.common.UUID;
import org.apache.directory.mitosis.common.UUIDFactory;
+import org.apache.directory.mitosis.service.ReplicationService;
import org.apache.directory.mitosis.store.ReplicationStore;
import org.apache.directory.mitosis.store.derby.DerbyReplicationStore;
import org.apache.directory.shared.ldap.util.StringTools;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
+/**
+ * A configuration for {@link ReplicationService}. This configuration can be
+ * used by calling {@link ReplicationService#setConfiguration(ReplicationConfiguration)}.
+ *
+ * @author The Apache Directory Project Team
+ */
public class ReplicationConfiguration
{
+ public static final int DEFAULT_LOG_MAX_AGE = 7;
+ public static final int DEFAULT_REPLICATION_INTERVAL = 5;
+ public static final int DEFAULT_RESPONSE_TIMEOUT = 60;
+ public static final int DEFAULT_SERVER_PORT = 7846;
+
/** The logger */
private static Logger log = LoggerFactory.getLogger( ReplicationConfiguration.class );
private ReplicaId replicaId;
- private int serverPort = 7846;
- private int responseTimeout = 60;
- private int replicationInterval = 5;
+ private int serverPort = DEFAULT_SERVER_PORT;
+ private int responseTimeout = DEFAULT_RESPONSE_TIMEOUT;
+ private int replicationInterval = DEFAULT_REPLICATION_INTERVAL;
private final Set<Replica> peerReplicas = new HashSet<Replica>();
private UUIDFactory uuidFactory = new SimpleUUIDFactory();
private CSNFactory csnFactory = new SimpleCSNFactory();
private ReplicationStore store = new DerbyReplicationStore();
- private int logMaxAge = 7; // a week (days)
+ private int logMaxAge = DEFAULT_LOG_MAX_AGE; // a week (days)
+ /**
+ * Creates a new instance with default properties except for
+ * the {@link ReplicaId} of the service and the the list of peer
+ * {@link Replica}s. You can set these properties by calling
+ * {@link #setReplicaId(ReplicaId)} and {@link #setPeerReplicas(Set)}
+ * respectively.
+ */
public ReplicationConfiguration()
{
}
-
+ /**
+ * Returns the TCP/IP port number that a {@link ReplicationService}
+ * listens to. The default value is {@link #DEFAULT_SERVER_PORT}.
+ */
public int getServerPort()
{
return serverPort;
}
+ /**
+ * Sets the TCP/IP port number that a {@link ReplicationService}
+ * listens to. The default value is {@link #DEFAULT_SERVER_PORT}.
+ */
public void setServerPort( int serverPort )
{
this.serverPort = serverPort;
}
-
+ /**
+ * Returns the response timeout value (seconds) for each sent message
+ * during the communication between replicas. If any response message
+ * is not received within this timeout, the connection is closed and
+ * reestablished. The default value is {@link #DEFAULT_RESPONSE_TIMEOUT}.
+ */
public int getResponseTimeout()
{
return responseTimeout;
}
-
+ /**
+ * Sets the response timeout value (seconds) for each sent message
+ * during the communication between replicas. If any response message
+ * is not received within this timeout, the connection is closed and
+ * reestablished. The default value is {@link #DEFAULT_RESPONSE_TIMEOUT}.
+ */
public void setResponseTimeout( int responseTimeout )
{
this.responseTimeout = responseTimeout;
}
/**
- * Returns the replication data exchange interval between two replicas in seconds.
- * The default value is <tt>5</tt> seconds.
+ * Returns the replication data exchange interval (seconds) between two
+ * replicas. The default value is {@link #DEFAULT_REPLICATION_INTERVAL}.
*
* @return <tt>0</tt> if automatic replication is disabled
*/
@@ -101,50 +137,69 @@
/**
- * Sets the replication data exchange interval between two replicas in seconds.
+ * Sets the replication data exchange interval (seconds) between two
+ * replicas. The default value is {@link #DEFAULT_REPLICATION_INTERVAL}.
*
* @param replicationInterval <tt>0</tt> or below to disable automatic replication.
*/
- public void setReplicationInterval(int replicationInterval) {
- if( replicationInterval < 0 ) {
- replicationInterval = 0;
- }
- this.replicationInterval = replicationInterval;
- }
+ public void setReplicationInterval( int replicationInterval )
+ {
+ if( replicationInterval < 0 )
+ {
+ replicationInterval = 0;
+ }
+ this.replicationInterval = replicationInterval;
+ }
- public CSNFactory getCsnFactory()
+ /**
+ * Returns the {@link CSNFactory} for generating {@link CSN}s.
+ * The default factory is {@link SimpleCSNFactory}.
+ */
+ public CSNFactory getCsnFactory()
{
return csnFactory;
}
+ /**
+ * Sets the {@link CSNFactory} for generating {@link CSN}s.
+ * The default factory is {@link SimpleCSNFactory}.
+ */
public void setCsnFactory( CSNFactory csnFactory )
{
this.csnFactory = csnFactory;
}
-
+ /**
+ * Adds the specified {@link Replica} to the remote peer replica list.
+ */
public void addPeerReplica( Replica peer )
{
assert peer != null;
peerReplicas.add( peer );
}
-
+ /**
+ * Removed the specified {@link Replica} from the remote peer replica list.
+ */
public void removePeerReplica( Replica peer )
{
assert peer != null;
peerReplicas.remove( peer );
}
-
+ /**
+ * Clears the remote peer replica list.
+ */
public void removeAllPeerReplicas()
{
peerReplicas.clear();
}
-
+ /**
+ * Returns the remote peer replica list.
+ */
public Set<Replica> getPeerReplicas()
{
Set<Replica> result = new HashSet<Replica>();
@@ -153,6 +208,9 @@
}
+ /**
+ * Sets the remote peer replica list.
+ */
public void setPeerReplicas( Set replicas )
{
assert replicas != null;
@@ -175,50 +233,80 @@
this.peerReplicas.addAll( normalizedReplicas );
}
-
+ /**
+ * Returns the ID of the replica this configuration is configuring.
+ */
public ReplicaId getReplicaId()
{
return replicaId;
}
-
+ /**
+ * Sets the ID of the replica this configuration is configuring.
+ */
public void setReplicaId( ReplicaId replicaId )
{
assert replicaId != null;
this.replicaId = replicaId;
}
-
+ /**
+ * Returns the {@link ReplicationStore} which stores the change log
+ * of the replica this configuration is configuring. The default
+ * implementation is {@link DerbyReplicationStore}.
+ */
public ReplicationStore getStore()
{
return store;
}
-
+ /**
+ * Sets the {@link ReplicationStore} which stores the change log
+ * of the replica this configuration is configuring. The default
+ * implementation is {@link DerbyReplicationStore}.
+ */
public void setStore( ReplicationStore store )
{
this.store = store;
}
-
+ /**
+ * Returns the {@link UUIDFactory} which generates {@link UUID}s for
+ * new directory entries. The default implementation is
+ * {@link SimpleUUIDFactory}.
+ */
public UUIDFactory getUuidFactory()
{
return uuidFactory;
}
-
+ /**
+ * Sets the {@link UUIDFactory} which generates {@link UUID}s for
+ * new directory entries. The default implementation is
+ * {@link SimpleUUIDFactory}.
+ */
public void setUuidFactory( UUIDFactory uuidFactory )
{
this.uuidFactory = uuidFactory;
}
-
+ /**
+ * Returns the maximum age (days) of change logs stored in
+ * {@link ReplicationStore}. Any change logs and deleted entries
+ * older than this value will be purged periodically. The default value
+ * is {@link #DEFAULT_LOG_MAX_AGE}.
+ */
public int getLogMaxAge()
{
return logMaxAge;
}
-
+ /**
+ * Sets the maximum age (days) of change logs stored in
+ * {@link ReplicationStore}. Any change logs and deleted entries
+ * older than this value will be purged periodically. The default value
+ * is {@link #DEFAULT_LOG_MAX_AGE}.
+ */
public void setLogMaxAge( int logMaxAge )
{
if ( logMaxAge <= 0 )
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfigurationException.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfigurationException.java?view=diff&rev=486160&r1=486159&r2=486160
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfigurationException.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/configuration/ReplicationConfigurationException.java Tue Dec 12 06:23:13 2006
@@ -23,6 +23,12 @@
import org.apache.directory.mitosis.common.ReplicationException;
+/**
+ * A {@link ReplicationException} which is thrown when there's an error
+ * in {@link ReplicationConfiguration}.
+ *
+ * @author The Apache Directory Project Team
+ */
public class ReplicationConfigurationException extends ReplicationException
{
/**