db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Wareham" <cware...@visitlondon.com>
Subject Derby init script for Linux / Unix
Date Tue, 09 Sep 2008 14:18:31 GMT
Hi,

I've searched the FAQ, wiki and Nabble's archive for this list but not
found an example init script for running Derby's Network Server. I have
put together a basic init script, but it has one problem which I am
hoping someone on the list can solve for me. The script works fine when
the server is rebooted, but if I login via ssh and restart Derby with
the init script, my shell hangs when I logout. I guess that even though
I run the init script as root, the Derby process is somehow associated
with my login session and prevents me from successfully logging out. I
don't want to use nohup, as it leaves an annoying log file laying around
- there must be a better solution!

My init script is as follows:

#!/bin/sh

# Starts and stops the derby database

DERBY_HOME=/home/derby
DERBY_USER=derby

derby_start () {
     su -l $DERBY_USER -c "$DERBY_HOME/bin/start_derby > 
$DERBY_HOME/logs/derby.log &"
}

derby_stop () {
     su -l $DERBY_USER -c "$DERBY_HOME/bin/stop_derby > 
$DERBY_HOME/logs/derby.log &"
}

case "$1" in
   start)
     derby_start
     ;;
   stop)
     derby_stop
     ;;
   restart)
     derby_stop
     sleep 5
     derby_start
     ;;
   *)
     echo "Usage: /etc/init.d/derby {start|stop|restart}"
     exit 1
     ;;
esac

exit 0

The start script is as follows:

#!/bin/sh

start_command="exec $JAVA_HOME/bin/java $DERBY_OPTS -classpath 
$DERBY_CLASSPATH org.apache.derby.drda.NetworkServerControl start $@"
eval $start_command

And the stop script is as follows:

#!/bin/sh

stop_command="exec $JAVA_HOME/bin/java $DERBY_OPTS -classpath 
$DERBY_CLASSPATH org.apache.derby.drda.NetworkServerControl shutdown $@"
eval $stop_command

The following relevant entries are in the derby user's shell config:

JAVA_HOME=/usr/java/default
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH

DERBY_HOME=$HOME
DERBY_CLASSPATH="$HOME/lib/derbynet.jar:$HOME/lib/derby.jar"
DERBY_OPTS="-Dderby.system.home=$HOME/derby"
export DERBY_HOME DERBY_CLASSPATH DERBY_OPTS
 
Chris Wareham
Senior Software Engineer
Visit London Ltd
6th floor,
2 More London Riverside, London SE1 2RR
 
Tel:  +44 (0)20 7234 5848
Fax: +44 (0)20 7234 5753

 
www.visitlondon.com   
 
   
       Save the date for the Visit London Awards 2008! 
      Thursday 27th November, Royal Albert Hall.

  
 
 
 
 
'Visit London Limited' is registered in England under No.761149;
Registered Office: Visit London, 2 More London Riverside, London SE1 2RR.
 

Visit London is the official visitor organisation for London. Visit London is partly funded
by Partnership, the Mayor's London Development Agency and London Councils.
The information contained in this e-mail is confidential and intended for the named recipient(s)
only.  If you have received it in error, please notify the sender immediately and then delete
the message.  If you are not the intended recipient, you must not use, disclose, copy or distribute
this email. The views expressed in this e-mail are those of the individual and not of Visit
London. We reserve the right to read and monitor any email or attachment entering or leaving
our systems without prior notice.
 
  Please don't print this e-mail unless you really need to.

Mime
View raw message