首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

hsqldb源码分析起动调试

2013-01-26 
hsqldb源码分析启动调试???从server的main函数输出参数中主要有几个:maxConnections 最大连接数限制,?isSi

hsqldb源码分析启动调试
?

?

?从server的main函数输出参数中主要有几个:maxConnections 最大连接数限制,?isSilent是否显示所有query,isRemoteOpen是否支持远程打开,不支持,isDaemon是否守护模式,acl指定访问控制权限文件路径,指定ip地址的黑白名单。acl文件格式参考http://hsqldb.org/doc/2.0/guide/listeners-chapt.html#N15C79

  /**     * Opens this database.  The database should be opened after construction.     * or reopened by the close(int closemode) method during a     * "shutdown compact". Closes the log if there is an error.     */    void reopen() {        boolean isNew = false;        setState(DATABASE_OPENING);        try {            nameManager    = new HsqlNameManager(this);            granteeManager = new GranteeManager(this);            userManager    = new UserManager(this);            schemaManager  = new SchemaManager(this);            persistentStoreCollection =                new PersistentStoreCollectionDatabase();            isReferentialIntegrity = true;            sessionManager         = new SessionManager(this);            collation              = collation.newDatabaseInstance();            dbInfo = DatabaseInformation.newDatabaseInformation(this);            txManager              = new TransactionManager2PL(this);            lobManager.createSchema();            sessionManager.getSysLobSession().setSchema(                SqlInvariants.LOBS_SCHEMA);            schemaManager.setSchemaChangeTimestamp();            schemaManager.createSystemTables();            // completed metadata            logger.openPersistence();            isNew = logger.isNewDatabase;            if (isNew) {                String username = urlProperties.getProperty("user", "SA");                String password = urlProperties.getProperty("password", "");                userManager.createFirstUser(username, password);                schemaManager.createPublicSchema();                lobManager.initialiseLobSpace();                logger.checkpoint(false);            }            lobManager.open();            dbInfo.setWithContent(true);            checkpointRunner = new CheckpointRunner();        } catch (Throwable e) {            logger.closePersistence(Database.CLOSEMODE_IMMEDIATELY);            logger.releaseLock();            setState(DATABASE_SHUTDOWN);            clearStructures();            DatabaseManager.removeDatabase(this);            if (!(e instanceof HsqlException)) {                e = Error.error(ErrorCode.GENERAL_ERROR, e);            }            logger.logSevereEvent("could not reopen database", e);            throw (HsqlException) e;        }        setState(DATABASE_ONLINE);    }

?

下一节分析handleConnection的处理

热点排行