You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/01/29 07:39:59 UTC
svn commit: r373292 - in /directory/trunks/apacheds:
core/src/main/java/org/apache/ldap/server/
core/src/main/java/org/apache/ldap/server/configuration/
standalone/simple/jndi/src/main/java/org/apache/ldap/server/configuration/
Author: akarasulu
Date: Sat Jan 28 22:39:52 2006
New Revision: 373292
URL: http://svn.apache.org/viewcvs?rev=373292&view=rev
Log:
Added new configuration option to disable the shutdown hook used to force
synchronization of the partitions this is in response to DIREVE-330 here:
https://issues.apache.org/jira/browse/DIREVE-330
Modified:
directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/DefaultDirectoryService.java
directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/MutableStartupConfiguration.java
directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/StartupConfiguration.java
directory/trunks/apacheds/standalone/simple/jndi/src/main/java/org/apache/ldap/server/configuration/MutableServerStartupConfiguration.java
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/DefaultDirectoryService.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/DefaultDirectoryService.java?rev=373292&r1=373291&r2=373292&view=diff
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/DefaultDirectoryService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/DefaultDirectoryService.java Sat Jan 28 22:39:52 2006
@@ -104,6 +104,7 @@
// Constructor
// ------------------------------------------------------------------------
+
/**
* Creates a new instance.
*/
@@ -113,27 +114,10 @@
{
throw new NullPointerException( "instanceId" );
}
-
this.instanceId = instanceId;
-
- // Register shutdown hook.
- Runtime.getRuntime().addShutdownHook( new Thread( new Runnable() {
- public void run()
- {
- try
- {
- shutdown();
- }
- catch( NamingException e )
- {
- log.warn(
- "Failed to shut down the directory service: " +
- DefaultDirectoryService.this.instanceId, e );
- }
- }
- }, "ApacheDS Shutdown Hook (" + instanceId + ')' ) );
}
+
// ------------------------------------------------------------------------
// BackendSubsystem Interface Method Implemetations
// ------------------------------------------------------------------------
@@ -191,6 +175,33 @@
Hashtable envCopy = ( Hashtable ) env.clone();
StartupConfiguration cfg = ( StartupConfiguration ) Configuration.toConfiguration( env );
+
+ if ( cfg.isShutdownHookEnabled() )
+ {
+ Runtime.getRuntime().addShutdownHook( new Thread( new Runnable() {
+ public void run()
+ {
+ try
+ {
+ shutdown();
+ }
+ catch( NamingException e )
+ {
+ log.warn(
+ "Failed to shut down the directory service: " +
+ DefaultDirectoryService.this.instanceId, e );
+ }
+ }
+ }, "ApacheDS Shutdown Hook (" + instanceId + ')' ) );
+
+ log.info( "ApacheDS shutdown hook has been registered with the runtime." );
+ }
+ else if ( log.isWarnEnabled() )
+ {
+ log.warn( "ApacheDS shutdown hook has NOT been registered with the runtime." +
+ " This default setting for standalone operation has been overriden." );
+ }
+
envCopy.put( Context.PROVIDER_URL, "" );
try
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/MutableStartupConfiguration.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/MutableStartupConfiguration.java?rev=373292&r1=373291&r2=373292&view=diff
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/MutableStartupConfiguration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/MutableStartupConfiguration.java Sat Jan 28 22:39:52 2006
@@ -18,15 +18,17 @@
*/
package org.apache.ldap.server.configuration;
+
import java.io.File;
import java.util.List;
import java.util.Set;
import org.apache.ldap.server.DirectoryService;
+
/**
* A mutable version of {@link StartupConfiguration}.
- *
+ *
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
@@ -34,64 +36,81 @@
{
private static final long serialVersionUID = -987437370955222007L;
+
/**
* Creates a new instance.
*/
public MutableStartupConfiguration()
{
}
-
+
+
/**
- * Creates a new instance that operates on the {@link DirectoryService}
- * with the specified ID.
+ * Creates a new instance that operates on the {@link DirectoryService} with
+ * the specified ID.
*/
- public MutableStartupConfiguration( String instanceId )
+ public MutableStartupConfiguration(String instanceId)
{
super( instanceId );
}
- public void setInstanceId( String instanceId )
+
+ public void setInstanceId(String instanceId)
{
super.setInstanceId( instanceId );
}
- public void setAuthenticatorConfigurations( Set authenticators )
+
+ public void setAuthenticatorConfigurations(Set authenticators)
{
super.setAuthenticatorConfigurations( authenticators );
}
- public void setBootstrapSchemas( Set bootstrapSchemas )
+
+ public void setBootstrapSchemas(Set bootstrapSchemas)
{
super.setBootstrapSchemas( bootstrapSchemas );
}
- public void setContextPartitionConfigurations( Set contextParitionConfigurations )
+
+ public void setContextPartitionConfigurations(Set contextParitionConfigurations)
{
super.setContextPartitionConfigurations( contextParitionConfigurations );
}
- public void setAccessControlEnabled( boolean accessControlEnabled )
+
+ public void setAccessControlEnabled(boolean accessControlEnabled)
{
super.setAccessControlEnabled( accessControlEnabled );
}
- public void setAllowAnonymousAccess( boolean enableAnonymousAccess )
+
+ public void setAllowAnonymousAccess(boolean enableAnonymousAccess)
{
super.setAllowAnonymousAccess( enableAnonymousAccess );
}
- public void setInterceptorConfigurations( List interceptorConfigurations )
+
+ public void setInterceptorConfigurations(List interceptorConfigurations)
{
super.setInterceptorConfigurations( interceptorConfigurations );
}
- public void setTestEntries( List testEntries )
+
+ public void setTestEntries(List testEntries)
{
super.setTestEntries( testEntries );
}
- public void setWorkingDirectory( File workingDirectory )
+
+ public void setWorkingDirectory(File workingDirectory)
{
super.setWorkingDirectory( workingDirectory );
+ }
+
+
+ public void setShutdownHookEnabled(boolean shutdownHookEnabled)
+ {
+ super.setShutdownHookEnabled( shutdownHookEnabled );
}
}
Modified: directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/StartupConfiguration.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/StartupConfiguration.java?rev=373292&r1=373291&r2=373292&view=diff
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/StartupConfiguration.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/ldap/server/configuration/StartupConfiguration.java Sat Jan 28 22:39:52 2006
@@ -54,6 +54,7 @@
private static final long serialVersionUID = 4826762196566871677L;
private File workingDirectory = new File( "server-work" );
+ private boolean shutdownHookEnabled = true; // allow by default
private boolean allowAnonymousAccess = true; // allow by default
private boolean accessControlEnabled = false; // turn off by default
private Set authenticatorConfigurations; // Set<AuthenticatorConfiguration>
@@ -391,5 +392,17 @@
public void validate()
{
setWorkingDirectory( workingDirectory );
+ }
+
+
+ protected void setShutdownHookEnabled( boolean shutdownHookEnabled )
+ {
+ this.shutdownHookEnabled = shutdownHookEnabled;
+ }
+
+
+ public boolean isShutdownHookEnabled()
+ {
+ return shutdownHookEnabled;
}
}
Modified: directory/trunks/apacheds/standalone/simple/jndi/src/main/java/org/apache/ldap/server/configuration/MutableServerStartupConfiguration.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/simple/jndi/src/main/java/org/apache/ldap/server/configuration/MutableServerStartupConfiguration.java?rev=373292&r1=373291&r2=373292&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/simple/jndi/src/main/java/org/apache/ldap/server/configuration/MutableServerStartupConfiguration.java (original)
+++ directory/trunks/apacheds/standalone/simple/jndi/src/main/java/org/apache/ldap/server/configuration/MutableServerStartupConfiguration.java Sat Jan 28 22:39:52 2006
@@ -140,4 +140,9 @@
{
super.setLdapsCertificatePassword( ldapsCertificatePassword );
}
+
+ public void setShutdownHookEnabled( boolean shutdownHookEnabled )
+ {
+ super.setShutdownHookEnabled( shutdownHookEnabled );
+ }
}