User: starksm
Date: 01/05/21 13:29:28
Modified: src/main/org/jboss/jdbc HypersonicDatabase.java
Log:
Include the stopService patch from Peter Fagerlund
Revision Changes Path
1.7 +53 -2 jboss/src/main/org/jboss/jdbc/HypersonicDatabase.java
Index: HypersonicDatabase.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/jdbc/HypersonicDatabase.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- HypersonicDatabase.java 2001/05/04 06:06:47 1.6
+++ HypersonicDatabase.java 2001/05/21 20:29:27 1.7
@@ -12,6 +12,10 @@
import java.io.IOException;
import java.io.File;
import java.net.URL;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
import javax.management.*;
@@ -28,7 +32,8 @@
* @see HypersonicDatabaseMBean
* @author Rickard �berg ([EMAIL PROTECTED])
* @author [EMAIL PROTECTED]
- * @version $Revision: 1.6 $
+ * @author Peter Fagerlund [EMAIL PROTECTED] @see stopService()
+ * @version $Revision: 1.7 $
*/
public class HypersonicDatabase
extends ServiceMBeanSupport
@@ -139,5 +144,51 @@
log.log("Database started");
}
- // Protected -----------------------------------------------------
+ /**
+ * @author Peter Fagerlund [EMAIL PROTECTED]
+ *
+ * We now close the connection clean by calling the
+ * serverSocket throught jdbc. The MBeanServer calls
+ * this method at closing time
+ */
+ public void stopService()
+ {
+ Connection connection;
+ Statement statement;
+
+ String cmd = "SHUTDOWN";
+ String jdbcDriver = "org.hsql.jdbcDriver";
+ String dbStrVersion_1_4 = "jdbc:HypersonicSQL:hsql://localhost:"+port;
+ String dbStrVersion_1_6 = "jdbc:hsqldb:hsql://localhost:"+port;
+ String user = "sa";
+ String password = "";
+
+ try
+ {
+ new org.hsql.jdbcDriver();
+ Class.forName(jdbcDriver).newInstance();
+ connection=DriverManager.getConnection(dbStrVersion_1_4, user,
password);
+ statement=connection.createStatement();
+ statement.executeQuery(cmd);
+
+ log.log("Database closed clean");
+ return;
+
+ } catch(ClassNotFoundException cnfe)
+ {
+ log.log("ClassNotFound " + cnfe.getMessage());
+ } catch(IllegalAccessException iae)
+ {
+ log.log("Illegal Access " + iae.getMessage());
+ } catch(InstantiationException ie)
+ {
+ log.log("Instantiation " + ie.getMessage());
+ } catch(SQLException sqle)
+ {
+ log.log("SQL " + sqle.getMessage());
+ }
+ log.log("Database unable to close clean");
+ }
+
+ // Protected -----------------------------------------------------
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development