/** * */ 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(); } } }