KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > h2 > test > cases > TestCloseDelay


1 /*
2  * Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
3  * Initial Developer: H2 Group
4  */

5 package org.h2.test.cases;
6
7 import java.sql.*;
8 import java.util.Random JavaDoc;
9
10 public class TestCloseDelay {
11
12     private Connection conn;
13     
14     public static void main(String JavaDoc[] args) throws Exception JavaDoc {
15         new TestCloseDelay().test();
16         new TestCloseDelay().test();
17     }
18
19     public void test() throws Exception JavaDoc {
20         Class.forName("org.h2.Driver");
21         conn = DriverManager.getConnection("jdbc:h2:test;DB_CLOSE_DELAY=-1");
22         Statement stat;
23         stat = conn.createStatement();
24         conn.setAutoCommit(false);
25         stat.execute("DROP TABLE TEST IF EXISTS");
26         stat.execute("CREATE TABLE TEST(ID IDENTITY, NAME VARCHAR)");
27         Random JavaDoc random = new Random JavaDoc();
28         for(int j=0; j<100; j++) {
29             System.out.println("j:" + j);
30             for(int i=0; i<1000; i++) {
31                 switch(random.nextInt(10)) {
32                 case 0:
33                     conn.close();
34                     conn = DriverManager.getConnection("jdbc:h2:test;DB_CLOSE_DELAY=-1");
35                     stat = conn.createStatement();
36                     conn.setAutoCommit(false);
37                     break;
38                 case 1:
39                 case 2:
40                 case 3:
41                 case 4:
42                 case 5:
43                 case 6:
44                     stat.execute("INSERT INTO TEST(NAME) VALUES('Hello')");
45                     break;
46                 case 7:
47                 case 8:
48                 case 9:
49                     stat.execute("UPDATE TEST SET NAME='Hello World' WHERE ROWNUM < 10");
50                     break;
51                 }
52                 if((i% 100) == 0) {
53                     ResultSet rs = stat.executeQuery("SELECT * FROM TEST ORDER BY ID");
54                     while(rs.next()) {
55                         rs.getInt(1);
56                         rs.getString(2);
57                     }
58                 }
59             }
60             stat.execute("SHUTDOWN");
61             conn.close();
62             conn = DriverManager.getConnection("jdbc:h2:test;DB_CLOSE_DELAY=-1");
63             stat = conn.createStatement();
64             ResultSet rs = stat.executeQuery("SELECT * FROM TEST ORDER BY ID");
65             while(rs.next()) {
66                 rs.getInt(1);
67                 rs.getString(2);
68             }
69         }
70     }
71     
72 }
73
Popular Tags