/**
*
*/
package org.code.derby;
import java.io.PrintWriter;
import java.net.InetAddress;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
import org.apache.derby.drda.NetworkServerControl;
/**
* @author Franz
*
*/
public class DerbyLifecycleListener implements LifecycleListener {
private NetworkServerControl server = null;
/* (non-Javadoc)
* @see org.apache.catalina.LifecycleListener#lifecycleEvent(org.apache.catalina.LifecycleEvent)
*/
public void lifecycleEvent(LifecycleEvent event) {
if (event.getType().equals(Lifecycle.START_EVENT)) {
this.startDerby();
} else if (event.getType().equals(Lifecycle.STOP_EVENT)) {
this.stopDerby();
}
}
protected void stopDerby() {
try {
server.shutdown();
} catch (Exception e) {
System.out.println("ERROR: expected exception trying to stop Derby engine.");
e.printStackTrace();
}
}
protected void startDerby() {
try {
server = new NetworkServerControl(InetAddress.getByName("0.0.0.0"), 1527);
server.start(new PrintWriter(System.out));
} catch (Exception e) {
System.out.println("ERROR: expected exception trying to start Derby engine.");
e.printStackTrace();
}
}
}