You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2017/04/17 11:16:10 UTC
svn commit: r1791682 - in /directory/apacheds/branches/apacheds-value:
core-integ/src/test/resources/org/apache/directory/server/core/schema/
installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/
installers-maven-plugin/src...
Author: elecharny
Date: Mon Apr 17 11:16:09 2017
New Revision: 1791682
URL: http://svn.apache.org/viewvc?rev=1791682&view=rev
Log:
Ported modifications made in trunk
Modified:
directory/apacheds/branches/apacheds-value/core-integ/src/test/resources/org/apache/directory/server/core/schema/DummySyntaxChecker.bytecode
directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/apacheds
directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh
directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/wrapper/src/sh.script.in
directory/apacheds/branches/apacheds-value/installers/src/test/docker/archive.test
directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin.test
directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin2.test
directory/apacheds/branches/apacheds-value/installers/src/test/docker/deb.test
directory/apacheds/branches/apacheds-value/installers/src/test/docker/rpm.test
directory/apacheds/branches/apacheds-value/interceptors/event/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java
directory/apacheds/branches/apacheds-value/mavibot-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/mavibot/MavibotStoreTest.java
directory/apacheds/branches/apacheds-value/server-integ/src/test/resources/org/apache/directory/server/core/schema/DummySyntaxChecker.bytecode
directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/ApacheDsService.java
directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/UberjarMain.java
directory/apacheds/branches/apacheds-value/service/src/test/java/org/apache/directory/server/UberJarMainTest.java
directory/apacheds/branches/apacheds-value/wrapper/src/main/java/org/apache/directory/server/wrapper/ApacheDsTanukiWrapper.java
Modified: directory/apacheds/branches/apacheds-value/core-integ/src/test/resources/org/apache/directory/server/core/schema/DummySyntaxChecker.bytecode
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/core-integ/src/test/resources/org/apache/directory/server/core/schema/DummySyntaxChecker.bytecode?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
Binary files - no diff available.
Modified: directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/apacheds
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/apacheds?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/apacheds (original)
+++ directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/apacheds Mon Apr 17 11:16:09 2017
@@ -412,7 +412,7 @@ repair() {
if [ "X$pid" = "X" ]
then
# The string passed to eval must handles spaces in paths correctly.
- COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_DIRECTORY=\"$INSTANCE_DIRECTORY\" set.APACHEDS_COMMAND=\"repair\" set.INSTANCE=\"$INSTANCE\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP"
+ COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_DIRECTORY=\"$INSTANCE_DIRECTORY\" set.APACHEDS_COMMAND=\"repair\" set.INSTANCE=\"$INSTANCE\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP"
eval $COMMAND_LINE
else
echo "$APP_LONG_NAME is already running."
@@ -555,7 +555,6 @@ case "$1" in
'repair')
checkUser touchlock $1 $INSTANCE
- stopit
repair
start
;;
Modified: directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh (original)
+++ directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh Mon Apr 17 11:16:09 2017
@@ -175,7 +175,19 @@ elif [ "$ADS_ACTION" = "repair" ]; then
-Dapacheds.shutdown.port="\"$ADS_SHUTDOWN_PORT\"" \
-Dapacheds.log.dir="\"$ADS_INSTANCE/log\"" \
-classpath "\"$CLASSPATH\"" \
- org.apache.directory.server.UberjarMain "\"$ADS_INSTANCE\"" repair \
+ org.apache.directory.server.UberjarMain "\"$ADS_INSTANCE\"" repair
+ org.apache.directory.server.UberjarMain "\"$ADS_INSTANCE\"" repair
+
+ # Printing instance information
+ [ $HAVE_TTY -eq 1 ] && echo "Starting ApacheDS instance '$ADS_INSTANCE_NAME'..."
+
+ # Launching ApacheDS
+ eval "\"$RUN_JAVA\"" $JAVA_OPTS $ADS_CONTROLS $ADS_EXTENDED_OPERATIONS \
+ -Dlog4j.configuration="\"file:$ADS_INSTANCE/conf/log4j.properties\"" \
+ -Dapacheds.shutdown.port="\"$ADS_SHUTDOWN_PORT\"" \
+ -Dapacheds.log.dir="\"$ADS_INSTANCE/log\"" \
+ -classpath "\"$CLASSPATH\"" \
+ org.apache.directory.server.UberjarMain "\"$ADS_INSTANCE\"" \
> "$ADS_OUT" 2>&1 "&"
echo $! > "$ADS_PID"
elif [ "$ADS_ACTION" = "run" ]; then
Modified: directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/wrapper/src/sh.script.in
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/wrapper/src/sh.script.in?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/wrapper/src/sh.script.in (original)
+++ directory/apacheds/branches/apacheds-value/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/wrapper/src/sh.script.in Mon Apr 17 11:16:09 2017
@@ -459,7 +459,7 @@ repair() {
if [ "X$pid" = "X" ]
then
# The string passed to eval must handles spaces in paths correctly.
- COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" repair \"$WRAPPER_CONF\" set.REPAIR_COMMAND=repair set.INSTANCE_HOME=$INSTANCE_HOME set.INSTANCE=$INSTANCE wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP"
+ COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" repair \"$WRAPPER_CONF\" set.REPAIR_COMMAND=repair set.INSTANCE_HOME=$INSTANCE_HOME set.INSTANCE=$INSTANCE wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP"
eval $COMMAND_LINE
else
echo "$APP_LONG_NAME is already running."
@@ -582,7 +582,6 @@ case "$1" in
'repair')
checkUser touchlock $1 $INSTANCE
- stopit
repair
start
;;
Modified: directory/apacheds/branches/apacheds-value/installers/src/test/docker/archive.test
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers/src/test/docker/archive.test?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers/src/test/docker/archive.test (original)
+++ directory/apacheds/branches/apacheds-value/installers/src/test/docker/archive.test Mon Apr 17 11:16:09 2017
@@ -88,6 +88,16 @@ fi
# search
ldapsearch -h localhost -p 10389 -x -D "uid=admin,ou=system" -w secret -s base -b "dc=example,dc=com"
+# repair (stop before, should be started afterwards)
+/opt/${DIRNAME}/bin/apacheds.sh stop
+wait_for_apacheds_down
+/opt/${DIRNAME}/bin/apacheds.sh repair
+wait_for_apacheds_up
+if [ $HAVE_TTY -eq 1 ]
+then
+ /opt/${DIRNAME}/bin/apacheds.sh status | grep "ApacheDS is running"
+fi
+
# restart and search a few times
for i in 1 2 3
do
Modified: directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin.test
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin.test?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin.test (original)
+++ directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin.test Mon Apr 17 11:16:09 2017
@@ -71,10 +71,16 @@ wait_for_apacheds
service ${SERVICE_NAME} status | grep "ApacheDS - default is running"
service ${SERVICE_NAME} status && test $? -eq 0
-
# search
ldapsearch -h localhost -p 10389 -x -D "uid=admin,ou=system" -w secret -s base -b "dc=example,dc=com"
+# repair (stop before, should be started afterwards)
+service ${SERVICE_NAME} stop
+service ${SERVICE_NAME} repair
+wait_for_apacheds
+service ${SERVICE_NAME} status | grep "ApacheDS - default is running"
+service ${SERVICE_NAME} status && test $? -eq 0
+
# restart and search a few times
for i in 1 2 3
do
Modified: directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin2.test
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin2.test?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin2.test (original)
+++ directory/apacheds/branches/apacheds-value/installers/src/test/docker/bin2.test Mon Apr 17 11:16:09 2017
@@ -72,10 +72,16 @@ wait_for_apacheds
service ${SERVICE_NAME} status | grep "ApacheDS - default is running"
service ${SERVICE_NAME} status && test $? -eq 0
-
# search
ldapsearch -h localhost -p 10389 -x -D "uid=admin,ou=system" -w secret -s base -b "dc=example,dc=com"
+# repair (stop before, should be started afterwards)
+service ${SERVICE_NAME} stop
+service ${SERVICE_NAME} repair
+wait_for_apacheds
+service ${SERVICE_NAME} status | grep "ApacheDS - default is running"
+service ${SERVICE_NAME} status && test $? -eq 0
+
# restart and search a few times
for i in 1 2 3
do
Modified: directory/apacheds/branches/apacheds-value/installers/src/test/docker/deb.test
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers/src/test/docker/deb.test?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers/src/test/docker/deb.test (original)
+++ directory/apacheds/branches/apacheds-value/installers/src/test/docker/deb.test Mon Apr 17 11:16:09 2017
@@ -65,6 +65,13 @@ service ${SERVICE_NAME} status && test $
# search
ldapsearch -h localhost -p 10389 -x -D "uid=admin,ou=system" -w secret -s base -b "dc=example,dc=com"
+# repair (stop before and start after)
+service ${SERVICE_NAME} stop
+service ${SERVICE_NAME} repair
+wait_for_apacheds
+service ${SERVICE_NAME} status | grep "ApacheDS - default is running"
+service ${SERVICE_NAME} status && test $? -eq 0
+
# restart and search a few times
for i in 1 2 3
do
Modified: directory/apacheds/branches/apacheds-value/installers/src/test/docker/rpm.test
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/installers/src/test/docker/rpm.test?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/installers/src/test/docker/rpm.test (original)
+++ directory/apacheds/branches/apacheds-value/installers/src/test/docker/rpm.test Mon Apr 17 11:16:09 2017
@@ -71,6 +71,13 @@ wait_for_apacheds
# search
ldapsearch -h localhost -p 10389 -x -D "uid=admin,ou=system" -w secret -s base -b "dc=example,dc=com"
+# repair (stop before and start after)
+/etc/init.d/${SERVICE_NAME} stop
+/etc/init.d/${SERVICE_NAME} repair
+wait_for_apacheds
+/etc/init.d/${SERVICE_NAME} status | grep "ApacheDS - default is running"
+/etc/init.d/${SERVICE_NAME} status && test $? -eq 0
+
# restart and search a few times
for i in 1 2 3
do
Modified: directory/apacheds/branches/apacheds-value/interceptors/event/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/interceptors/event/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/interceptors/event/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java (original)
+++ directory/apacheds/branches/apacheds-value/interceptors/event/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java Mon Apr 17 11:16:09 2017
@@ -29,6 +29,8 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -95,6 +97,21 @@ public class EventInterceptor extends Ba
evaluator = new ExpressionEvaluator( schemaManager );
executor = new ThreadPoolExecutor( 1, 10, 1000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>( 100 ) );
+
+ ThreadFactory threadFactory = new ThreadFactory()
+ {
+ @Override
+ public Thread newThread( Runnable runnable )
+ {
+ Thread newThread = Executors.defaultThreadFactory().newThread( runnable );
+ newThread.setDaemon( true );
+
+ return newThread;
+ }
+ };
+
+ executor = new ThreadPoolExecutor( 1, 10, 1000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>( 100 ),
+ threadFactory );
this.directoryService.setEventService( new DefaultEventService( directoryService ) );
LOG.info( "Initialization complete." );
Modified: directory/apacheds/branches/apacheds-value/mavibot-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/mavibot/MavibotStoreTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/mavibot-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/mavibot/MavibotStoreTest.java?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/mavibot-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/mavibot/MavibotStoreTest.java (original)
+++ directory/apacheds/branches/apacheds-value/mavibot-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/mavibot/MavibotStoreTest.java Mon Apr 17 11:16:09 2017
@@ -35,7 +35,6 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
-import org.apache.directory.api.util.FileUtils;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.csn.CsnFactory;
import org.apache.directory.api.ldap.model.entry.Attribute;
@@ -259,8 +258,7 @@ public class MavibotStoreTest
assertEquals( 2, lookup.getDn().size() );
// make sure all files are closed so that they can be deleted on Windows.
- //store2.destroy();
- FileUtils.deleteDirectory( wkdir2 );
+ // wkdir2 is deleted by TemporaryFolder rule
}
Modified: directory/apacheds/branches/apacheds-value/server-integ/src/test/resources/org/apache/directory/server/core/schema/DummySyntaxChecker.bytecode
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/server-integ/src/test/resources/org/apache/directory/server/core/schema/DummySyntaxChecker.bytecode?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
Binary files - no diff available.
Modified: directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/ApacheDsService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/ApacheDsService.java?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/ApacheDsService.java (original)
+++ directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/ApacheDsService.java Mon Apr 17 11:16:09 2017
@@ -233,7 +233,7 @@ public class ApacheDsService
/**
- * Try to repair the partitions. For each partition, we need its directory and its DN
+ * Try to repair the partitions. Precondition is that this service was started before.
*
* @param instanceLayout the on disk location's layout of the intance to be repaired
* @throws Exception If the repair failed
@@ -242,25 +242,8 @@ public class ApacheDsService
{
File partitionsDir = instanceLayout.getPartitionsDirectory();
- if ( !partitionsDir.exists() )
- {
- System.out.println( "partition directory doesn't exist, creating " + partitionsDir.getAbsolutePath() );
-
- if ( !partitionsDir.mkdirs() )
- {
- throw new IOException( I18n.err( I18n.ERR_112_COULD_NOT_CREATE_DIRECORY, partitionsDir ) );
- }
- }
-
System.out.println( "Repairing partition dir " + partitionsDir.getAbsolutePath() );
- CacheService cacheService = new CacheService();
- cacheService.initialize( instanceLayout );
-
- initSchemaManager( instanceLayout );
- DnFactory dnFactory = new DefaultDnFactory( schemaManager, cacheService.getCache( "dnCache" ) );
- initSchemaLdifPartition( instanceLayout, dnFactory );
- initConfigPartition( instanceLayout, dnFactory, cacheService );
Set<? extends Partition> partitions = getDirectoryService().getPartitions();
// Iterate on the partitions to repair them
Modified: directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/UberjarMain.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/UberjarMain.java?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/UberjarMain.java (original)
+++ directory/apacheds/branches/apacheds-value/service/src/main/java/org/apache/directory/server/UberjarMain.java Mon Apr 17 11:16:09 2017
@@ -175,14 +175,18 @@ public class UberjarMain
try
{
- service.start( layout, false );
+ System.out.println( "Starting the service." );
+ // must start servers otherwise stop() won't work
+ service.start( layout, true );
+ // no need to start the shutdown listener
+ System.out.println( "Service started." );
}
catch ( Exception e )
{
return;
}
- // Initializing the service
+ // Repairing the database
try
{
LOG.info( "Starting the service." );
@@ -191,9 +195,14 @@ public class UberjarMain
}
catch ( Exception e )
{
- LOG.error( "Failed to start the service.", e );
+ LOG.error( "Failed to repair the database.", e );
+ stop();
System.exit( 1 );
}
+
+ // Stop the service
+ stop();
+
}
Modified: directory/apacheds/branches/apacheds-value/service/src/test/java/org/apache/directory/server/UberJarMainTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/service/src/test/java/org/apache/directory/server/UberJarMainTest.java?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/service/src/test/java/org/apache/directory/server/UberJarMainTest.java (original)
+++ directory/apacheds/branches/apacheds-value/service/src/test/java/org/apache/directory/server/UberJarMainTest.java Mon Apr 17 11:16:09 2017
@@ -360,12 +360,9 @@ public class UberJarMainTest
// Stop the server
uberjarMain.stop();
- // Try to repair it
+ // Try to repair it (also starts and stops the server)
uberjarMain.repair( instanceDirectory.toString() );
- // Stop the server again
- uberjarMain.stop();
-
// And restart it
connectionVerificationThread = createServer();
Modified: directory/apacheds/branches/apacheds-value/wrapper/src/main/java/org/apache/directory/server/wrapper/ApacheDsTanukiWrapper.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-value/wrapper/src/main/java/org/apache/directory/server/wrapper/ApacheDsTanukiWrapper.java?rev=1791682&r1=1791681&r2=1791682&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-value/wrapper/src/main/java/org/apache/directory/server/wrapper/ApacheDsTanukiWrapper.java (original)
+++ directory/apacheds/branches/apacheds-value/wrapper/src/main/java/org/apache/directory/server/wrapper/ApacheDsTanukiWrapper.java Mon Apr 17 11:16:09 2017
@@ -21,14 +21,6 @@
package org.apache.directory.server.wrapper;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.Socket;
-import java.nio.charset.Charset;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import org.apache.directory.api.util.Network;
import org.apache.directory.api.util.Strings;
import org.apache.directory.server.ApacheDsService;
import org.apache.directory.server.core.api.InstanceLayout;
@@ -65,23 +57,6 @@ public final class ApacheDsTanukiWrapper
WrapperManager.start( new ApacheDsTanukiWrapper(), args );
}
-
-
- private static int readShutdownPort( InstanceLayout layout ) throws IOException
- {
- return Integer.parseInt( new String( Files.readAllBytes(
- Paths.get( layout.getRunDirectory().getAbsolutePath(), ".shutdown.port" ) ),
- Charset.forName( "utf-8" ) ) );
- }
-
-
- private static String readShutdownPassword( InstanceLayout layout ) throws IOException
- {
- return new String( Files.readAllBytes(
- Paths.get( layout.getRunDirectory().getAbsolutePath(), ".shutdown.pwd" ) ),
- Charset.forName( "utf-8" ) );
- }
-
/**
* Try to repair the databases
@@ -96,18 +71,22 @@ public final class ApacheDsTanukiWrapper
// Creating ApacheDS service
service = new ApacheDsService();
+ // Initializing the service
try
{
System.out.println( "Starting the service." );
- service.start( layout );
+ // must start servers otherwise stop() won't work
+ service.start( layout, true );
System.out.println( "Service started." );
}
catch ( Exception e )
{
- return;
+ LOG.error( "Failed to start the service.", e );
+ stop( 1 );
+ System.exit( ExitCodes.START );
}
- // Initializing the service
+ // Repairing the database
try
{
System.out.println( "Repairing the database." );
@@ -116,9 +95,13 @@ public final class ApacheDsTanukiWrapper
}
catch ( Exception e )
{
- LOG.error( "Failed to start the service.", e );
- System.exit( 1 );
+ LOG.error( "Failed to repair the database.", e );
+ stop( 1 );
+ System.exit( ExitCodes.START );
}
+
+ // Stop the service
+ stop( 0 );
}
@@ -172,18 +155,7 @@ public final class ApacheDsTanukiWrapper
case "stop" :
// Stops the server
LOG.debug( "Stopping runtime" );
- InstanceLayout layout = new InstanceLayout( instanceDirectory );
-
- try ( Socket socket = new Socket( Network.LOOPBACK, readShutdownPort( layout ) );
- PrintWriter writer = new PrintWriter( socket.getOutputStream() ) )
- {
- writer.print( readShutdownPassword( layout ) );
- }
- catch ( IOException e )
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ stop( 1 );
break;