void init() throws SQLException {
		log.info("begin to init h2database");
		Statement st = null;
		try {
			st = getStatement();
			Connection conn = st.getConnection();
			DatabaseMetaData meta = conn.getMetaData();
			ResultSet rs = meta.getTables(null, null, null, new String[] {"TABLE"});
			ArrayList<String> tableList = new ArrayList<String>();
			while(rs.next()) {
				tableList.add(rs.getString("TABLE_NAME"));
			}
			log.debug("Existing tables - " + tableList.size() + "-" + tableList.toString());
			if(!tableList.contains("USER")) {
				log.info("create table user");
				st.execute(SQL_CREATE_TABLE_USER);
			}
			if(!tableList.contains("SERVER_INFO")) {
				log.info("create table server_info");
				st.execute(SQL_CREATE_TABLE_SERVER_INFO);
			}
			
			String sql = "select * from server_info";
			
			log.info("server id = " + ServerConfig.SERVER_ID);
		} catch(Exception e) {
			log.error("init error");
			e.printStackTrace();
			throw new SQLException("init error");
		} finally {
			if(st == null)
				return;
			try {
				Connection conn = st.getConnection();
				st.close();
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}