User: mnf999  
  Date: 01/08/29 19:37:56

  Modified:    varia/src/main/org/jboss/jdbc HypersonicDatabase.java
                        HypersonicDatabaseMBean.java InstantDBDatabase.java
                        InstantDBDatabaseMBean.java
  Log:
  working from http installs correctly
  
  Revision  Changes    Path
  1.2       +190 -169  contrib/varia/src/main/org/jboss/jdbc/HypersonicDatabase.java
  
  Index: HypersonicDatabase.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/varia/src/main/org/jboss/jdbc/HypersonicDatabase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HypersonicDatabase.java   2001/08/01 00:39:59     1.1
  +++ HypersonicDatabase.java   2001/08/30 02:37:56     1.2
  @@ -1,10 +1,10 @@
   /*
  - * JBoss, the OpenSource EJB server
  - *
  - * Distributable under LGPL license.
  - * See terms of license at gnu.org.
  - */
  - 
  +* JBoss, the OpenSource EJB server
  +*
  +* Distributable under LGPL license.
  +* See terms of license at gnu.org.
  +*/
  +
   package org.jboss.jdbc;
   
   import java.io.File;
  @@ -22,171 +22,192 @@
   import org.hsql.Server;
   
   import org.jboss.logging.Log;
  -import org.jboss.util.ServiceMBeanSupport;
  +import org.jboss.system.URLClassLoader;
  +import org.jboss.system.ServiceMBeanSupport;
   
   /**
  - *   Integration with Hypersonic SQL (http://hsql.oron.ch/). Starts a Hypersonic 
database in-VM.
  - *
  - *   @see HypersonicDatabaseMBean
  - *   @author <a href="mailto:[EMAIL PROTECTED]";>Rickard �berg</a>
  - *   @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>.
  - *   @author Peter Fagerlund [EMAIL PROTECTED] @see stopService()
  - *   @version $Revision: 1.1 $
  - */
  +*   Integration with Hypersonic SQL (http://hsql.oron.ch/). Starts a Hypersonic 
database in-VM.
  +*
  +*   @see HypersonicDatabaseMBean
  +*   @author <a href="mailto:[EMAIL PROTECTED]";>Rickard �berg</a>
  +*   @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>.
  +*   @author Peter Fagerlund [EMAIL PROTECTED] @see stopService()
  +*   @version $Revision: 1.2 $
  +*/
   public class HypersonicDatabase
  -   extends ServiceMBeanSupport
  -   implements HypersonicDatabaseMBean, MBeanRegistration
  +extends ServiceMBeanSupport
  +implements HypersonicDatabaseMBean, MBeanRegistration
   {
  -   // Constants -----------------------------------------------------
  -    
  -   // Attributes ----------------------------------------------------
  -   Thread runner;
  -   Process proc;
  -   MBeanServer server;
  -   
  -   String name = "jboss"; // Database name will be appended to "<db.properties 
location>/hypersonic/"
  -   int port = 1476; // Default port
  -   boolean silent = false;
  -   boolean trace = true;
  -   
  -   // Static --------------------------------------------------------
  -
  -   // Constructors --------------------------------------------------
  -   public HypersonicDatabase()
  -   {
  -   }
  -   
  -   // Public --------------------------------------------------------
  -   // Settings
  -   public void setDatabase(String name)
  -   {
  -      this.name = name;
  -   }
  -   
  -   public String getDatabase()
  -   {
  -      return name;
  -   }
  -
  -   public void setPort(int port)
  -   {
  -      this.port = port;
  -   }
  -   
  -   public int getPort()
  -   {
  -      return port;
  -   }
  -
  -   public void setSilent(boolean silent)
  -   {
  -      this.silent = silent;
  -   }
  -   
  -   public boolean getSilent()
  -   {
  -      return silent;
  -   }
  -   
  -   public void setTrace(boolean trace)
  -   {
  -      this.trace = trace;
  -   }
  -   
  -   public boolean getTrace()
  -   {
  -      return trace;
  -   }
  -   
  -   public ObjectName getObjectName(MBeanServer server, ObjectName name)
  -      throws javax.management.MalformedObjectNameException
  -   {
  -      this.server = server;
  -      return name == null ? new ObjectName(OBJECT_NAME) : name;
  -   }
  -   
  -   public String getName()
  -   {
  -      return "Hypersonic";
  -   }
  -   
  -   public void startService()
  -      throws Exception
  -   {
  -      // Start DB in new thread, or else it will block us
  -      runner = new Thread(new Runnable()
  -      {
  -         public void run()
  -         {
  -            // Get DB directory
  -            URL dbLocator = this.getClass().getResource("/db.properties");
  -            File dbDir = new File(dbLocator.getFile()).getParentFile();
  -            File dbName = new File(dbDir, "hypersonic/"+name);
  -            
  -            // Create startup arguments
  -            String[] args = new String[]
  -            {
  -               "-database", dbName.toString(),
  -               "-port", port+"",
  -               "-silent", silent+"",
  -               "-trace", trace+""
  -            };
  -            
  -            // Start server
  -            org.hsql.Server.main(args);
  -         }
  -      });
  -
  -      // Wait for startup message
  -      runner.start();
  -      log.log("Database started");
  -   }
  -
  -    /**
  -    *    @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 -----------------------------------------------------
  +     // Constants -----------------------------------------------------
  +     
  +     // Attributes ----------------------------------------------------
  +     Thread runner;
  +     Process proc;
  +     MBeanServer server;
  +     
  +     String name = "jboss"; // Database name will be appended to "<db.properties 
location>/hypersonic/"
  +     int port = 1476; // Default port
  +     boolean silent = true;
  +     boolean trace = false;
  +     
  +     // Static --------------------------------------------------------
  +     
  +     // Constructors --------------------------------------------------
  +     public HypersonicDatabase()
  +     {
  +     }
  +     
  +     // Public --------------------------------------------------------
  +     // Settings
  +     public void setDatabase(String name)
  +     {
  +             this.name = name;
  +     }
  +     
  +     public String getDatabase()
  +     {
  +             return name;
  +     }
  +     
  +     public void setPort(int port)
  +     {
  +             this.port = port;
  +     }
  +     
  +     public int getPort()
  +     {
  +             return port;
  +     }
  +     
  +     public void setSilent(boolean silent)
  +     {
  +             this.silent = silent;
  +     }
  +     
  +     public boolean getSilent()
  +     {
  +             return silent;
  +     }
  +     
  +     public void setTrace(boolean trace)
  +     {
  +             this.trace = trace;
  +     }
  +     
  +     public boolean getTrace()
  +     {
  +             return trace;
  +     }
  +     
  +     public ObjectName getObjectName(MBeanServer server, ObjectName name)
  +     throws javax.management.MalformedObjectNameException
  +     {
  +             this.server = server;
  +             return name == null ? new ObjectName(OBJECT_NAME) : name;
  +     }
  +     
  +     public String getName()
  +     {
  +             return "Hypersonic";
  +     }
  +     
  +     public void startService()
  +     throws Exception
  +     {
  +             
  +             
  +             // Start DB in new thread, or else it will block us
  +             runner = new Thread(new Runnable()
  +                     {
  +                             public void run()
  +                             {
  +                                     try {
  +                                             // Get DB directory
  +                                             File jbossHomeDir = new 
File(System.getProperty("jboss.system.home"));
  +                                             File dbName = new File(jbossHomeDir, 
"db"+File.separator+
  +                                                     "hypersonic"+File.separator+
  +                                                     name);
  +
  +                                             // Create startup arguments
  +                                             String[] args = new String[]
  +                                             {
  +                                                     "-database", dbName.toString(),
  +                                                     "-port", port+"",
  +                                                     "-silent", silent+"",
  +                                                     "-trace", trace+""
  +                                             };
  +                                             
  +                                             // Start server
  +                                             org.hsql.Server.main(args);
  +                                     
  +                                     } catch (Exception e) {e.printStackTrace();}
  +                             }
  +                     });
  +             
  +             
  +             
  +             // Wait for startup message
  +             runner.start();
  +             
  +             // We wait for the database to boot, if there is a problem with the 
database we are hosed
  +             // FIXME marcf HOW CAN WE BE NOTIFIED OF THE BOOT OF HSQL?? TALK TO 
GABOR LITPAK??
  +
  +             synchronized (this) {
  +                     System.out.println("About to wait 5 seconds for hypersonic to 
start");
  +                     try { Thread.yield(); wait(5000);} catch (Exception e) 
{e.printStackTrace();}
  +             }               
  +             log.log("Database started");
  +     
  +     }
  +     
  +     /**
  +     *    @author Peter Fagerlund [EMAIL PROTECTED]
  +     *    
  +   *    marcf FIXME: it doesn't seem to work very well on Linux... 
  +     *    is there a way to hack the hsql to get a more tight control over the 
shutdown
  +     *
  +     *    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 error" + sqle.getMessage());
  +             }
  +             log.log("Database unable to close clean");
  +     }
  +     
  +     // Protected -----------------------------------------------------
   }
  
  
  
  1.2       +2 -2      
contrib/varia/src/main/org/jboss/jdbc/HypersonicDatabaseMBean.java
  
  Index: HypersonicDatabaseMBean.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/varia/src/main/org/jboss/jdbc/HypersonicDatabaseMBean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HypersonicDatabaseMBean.java      2001/08/01 00:39:59     1.1
  +++ HypersonicDatabaseMBean.java      2001/08/30 02:37:56     1.2
  @@ -12,10 +12,10 @@
    *      
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Rickard �berg</a>
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public interface HypersonicDatabaseMBean
  -   extends org.jboss.util.ServiceMBean
  +   extends org.jboss.system.ServiceMBean
   {
      // Constants -----------------------------------------------------
      public static final String OBJECT_NAME = ":service=Hypersonic";
  
  
  
  1.2       +2 -2      contrib/varia/src/main/org/jboss/jdbc/InstantDBDatabase.java
  
  Index: InstantDBDatabase.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/varia/src/main/org/jboss/jdbc/InstantDBDatabase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstantDBDatabase.java    2001/08/01 00:39:59     1.1
  +++ InstantDBDatabase.java    2001/08/30 02:37:56     1.2
  @@ -19,14 +19,14 @@
   import javax.sql.DataSource;
   
   import org.jboss.logging.Log;
  -import org.jboss.util.ServiceMBeanSupport;
  +import org.jboss.system.ServiceMBeanSupport;
   
   /**
    *   <description> 
    *      
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Rickard �berg</a>
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class InstantDBDatabase
      extends ServiceMBeanSupport
  
  
  
  1.2       +2 -2      
contrib/varia/src/main/org/jboss/jdbc/InstantDBDatabaseMBean.java
  
  Index: InstantDBDatabaseMBean.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/varia/src/main/org/jboss/jdbc/InstantDBDatabaseMBean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstantDBDatabaseMBean.java       2001/08/01 00:39:59     1.1
  +++ InstantDBDatabaseMBean.java       2001/08/30 02:37:56     1.2
  @@ -12,10 +12,10 @@
    *      
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Rickard �berg</a>
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public interface InstantDBDatabaseMBean
  -   extends org.jboss.util.ServiceMBean
  +   extends org.jboss.system.ServiceMBean
   {
      // Constants -----------------------------------------------------
      public static final String OBJECT_NAME = ":service=InstantDB";
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to