That was exactly what I was looking for!

Thanks,
Derek

Thanks,
Derek


On Wed, Aug 21, 2013 at 1:43 AM, Thomas Mueller <
[email protected]> wrote:

> Hi,
>
> What you could try is replace "debuggingDatabaseSleep(30)" with
> "org.h2.tools.Server.startWebServer(conn)".
>
> Regards,
> Thomas
>
>
> On Friday, August 16, 2013, Derek Price wrote:
>
>>  I'm using IntelliJ with this code:
>>
>> @Test
>> public void testH2() throws SQLException {
>>   Connection conn = null;
>>   PreparedStatement preparedStatement = null;
>>   ResultSet resultSet = null;
>>   Server server = null;
>>
>>   try {
>>     Class.forName("org.h2.Driver");
>>     conn =
>> DriverManager.getConnection("jdbc:h2:mem:test_mem;DB_CLOSE_DELAY=-1", "sa",
>> "sa");
>>
>>     server = Server.createTcpServer().start();
>>
>>     preparedStatement = conn.prepareStatement("drop table if exists
>> Test;");
>>     preparedStatement.executeUpdate();
>>
>>     preparedStatement = conn.prepareStatement("create table Test(Id int
>> primary key, Name varchar(255));");
>>     preparedStatement.executeUpdate();
>>
>>     preparedStatement = conn.prepareStatement("insert into Test values(1,
>> 'Hello');");
>>     preparedStatement.executeUpdate();
>>
>>     //debuggingDatabaseSleep(30);
>>
>>     preparedStatement = conn.prepareStatement("select * from Test order
>> by Id;");
>>     resultSet = preparedStatement.executeQuery();
>>     resultSet.next();
>>     assertEquals(resultSet.getInt("Id"), 1);
>>     assertEquals(resultSet.getString("Name"), "Hello");
>>   }
>>   catch(ClassNotFoundException | SQLException | InterruptedException e) {
>>     fail(e.getLocalizedMessage());
>>   }
>>   finally {
>>     try {
>>       if(resultSet != null)
>>         resultSet.close();
>>       if(preparedStatement != null)
>>         preparedStatement.close();
>>     } catch(Exception e) {
>>     }
>>   }
>>   conn.close();
>> }
>>
>> If I stop on a breakpoint and try to access my in-memory database from
>> SQL Workbench, it never connects. If I uncomment
>>  debuggingDatabaseSleep(30) and let the test run, then I can connect from
>> SQL Workbench as long as the test is running with my Thread.sleep() call.
>>
>> Should the database still be available after the test has completed? It
>> doesn't seem like it should since once the test is complete, the app is no
>> longer running. So is there a better method?
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "H2 Database" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/h2-database.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "H2 Database" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/h2-database/I4sh2-jhPuQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to