You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by di...@apache.org on 2001/09/08 18:20:38 UTC
cvs commit: xml-cocoon2/src/org/apache/cocoon/components/hsqldb Server.java ServerImpl.java
dims 01/09/08 09:20:38
Modified: src/org/apache/cocoon Cocoon.java
src/org/apache/cocoon/components/hsqldb ServerImpl.java
Added: src/org/apache/cocoon/components/hsqldb Server.java
Log:
- Implement Avalon Startable interface in ServerImpl
- Added a new Server interface
Note: maybe we should rename the package org.apache.cocoon.components.hsqldb as org.apache.cocoon.components.server?
Revision Changes Path
1.26 +13 -1 xml-cocoon2/src/org/apache/cocoon/Cocoon.java
Index: Cocoon.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/Cocoon.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- Cocoon.java 2001/09/08 11:45:49 1.25
+++ Cocoon.java 2001/09/08 16:20:38 1.26
@@ -24,6 +24,7 @@
import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.components.hsqldb.Server;
import org.apache.cocoon.components.language.generator.CompiledComponent;
import org.apache.cocoon.components.language.generator.ProgramGenerator;
import org.apache.cocoon.components.parser.Parser;
@@ -57,7 +58,7 @@
* @author <a href="mailto:fumagalli@exoffice.com">Pierpaolo Fumagalli</a> (Apache Software Foundation, Exoffice Technologies)
* @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
* @author <a href="mailto:leo.sutic@inspireinfrastructure.com">Leo Sutic</a>
- * @version CVS $Revision: 1.25 $ $Date: 2001/09/08 11:45:49 $
+ * @version CVS $Revision: 1.26 $ $Date: 2001/09/08 16:20:38 $
*/
public class Cocoon
extends AbstractLoggable
@@ -219,6 +220,17 @@
getLogger().debug("Sitemap location = " + this.sitemapFileName);
getLogger().debug("Checking sitemap reload = " + this.checkSitemapReload);
getLogger().debug("Reloading sitemap asynchron = " + this.reloadSitemapAsynchron);
+
+ // Start the database server
+ Server server = null;
+ try {
+ getLogger().debug("Starting database server");
+ server = (Server) this.componentManager.lookup(Server.ROLE);
+ } catch (Exception e){
+ getLogger().error("Error starting database server",e);
+ } finally {
+ this.componentManager.release(server);
+ }
}
/** Dump System Properties */
1.2 +26 -19 xml-cocoon2/src/org/apache/cocoon/components/hsqldb/ServerImpl.java
Index: ServerImpl.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/hsqldb/ServerImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ServerImpl.java 2001/09/07 14:30:10 1.1
+++ ServerImpl.java 2001/09/08 16:20:38 1.2
@@ -7,6 +7,7 @@
*****************************************************************************/
package org.apache.cocoon.components.hsqldb;
+import org.apache.avalon.framework.activity.Startable;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
@@ -18,8 +19,6 @@
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.Constants;
-import org.hsqldb.Server;
-
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
@@ -30,10 +29,11 @@
*
* @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
*/
-public class ServerImpl extends AbstractLoggable implements Configurable,
+public class ServerImpl extends AbstractLoggable implements Server, Configurable,
Contextualizable,
ThreadSafe,
- Runnable {
+ Runnable,
+ Startable {
/** Arguments for running the server */
private String arguments[] = new String[8];
@@ -60,13 +60,6 @@
arguments[3] = params.getParameter("silent","true");
arguments[4] = "-trace";
arguments[5] = params.getParameter("trace","false");
-
- Thread server = new Thread(this);
- this.getLogger().debug("Intializing hsqldb server thread");
- server.setPriority(Thread.currentThread().getPriority());
- server.setDaemon(true);
- server.setName("hsqldb server");
- server.start();
}
/** Contextualize this class */
@@ -84,15 +77,29 @@
getLogger().error("IOException - Could not get database directory ", e);
}
}
+
+ /** Start the server */
+ public void start() {
+ Thread server = new Thread(this);
+ this.getLogger().debug("Intializing hsqldb server thread");
+ server.setPriority(Thread.currentThread().getPriority());
+ server.setDaemon(true);
+ server.setName("hsqldb server");
+ server.start();
+ }
- /** Run the server */
+ /** Stop the server */
+ public void stop() {
+ }
+
public void run() {
- if(!started) {
- started = true;
- getLogger().debug("HSQLDB Server arguments are as follows:");
- for(int i=0;i<8;i++)
- getLogger().debug(i + " : " + arguments[i]);
- Server.main(arguments);
- }
+ if(!started) {
+ started = true;
+ getLogger().debug("HSQLDB Server arguments are as follows:");
+ for(int i=0;i<8;i++) {
+ getLogger().debug(i + " : " + arguments[i]);
+ }
+ org.hsqldb.Server.main(arguments);
+ }
}
}
1.1 xml-cocoon2/src/org/apache/cocoon/components/hsqldb/Server.java
Index: Server.java
===================================================================
/*****************************************************************************
* Copyright (C) The Apache Software Foundation. All rights reserved. *
* ------------------------------------------------------------------------- *
* This software is published under the terms of the Apache Software License *
* version 1.1, a copy of which has been included with this distribution in *
* the LICENSE file. *
*****************************************************************************/
package org.apache.cocoon.components.hsqldb;
import org.apache.avalon.framework.component.Component;
/**
*
* @author <a href="mailto:dims@yahoo.org">Davanum Srinivas</a>
* @version CVS $Revision: 1.1 $ $Date: 2001/09/08 16:20:38 $
*/
public interface Server extends Component {
String ROLE = "org.apache.cocoon.components.hsqldb.Server";
}
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org