r2137 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish java/fr/ifremer/isisfish/datastore resources/i18n
Author: chatellier Date: 2009-04-22 17:03:14 +0000 (Wed, 22 Apr 2009) New Revision: 2137 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Add database lock mode parameter Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-04-22 10:30:56 UTC (rev 2136) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-04-22 17:03:14 UTC (rev 2137) @@ -155,6 +155,25 @@ File result = getOptionAsFile(Option.DATABASE_DIRECTORY.key); return result; } + + /** + * Retourne le lock a utiliser pour la base h2. + * + * Par defaut la base utilise 'file'. + * + * Les valeur acceptées sont : + * - file + * - socket + * - no + * + * http://www.h2database.com/html/features.html#database_file_locking + * + * @return h2 db lock mode + */ + public String getDatabaseLockMode() { + String result = getOption(Option.DATABASE_LOCK_MODE.key); + return result; + } /** * Retourne le repertoire ou sont stockes les scripts compiles. @@ -720,6 +739,8 @@ DATABASE_DIRECTORY("database.directory", _("isisfish.config.vcs.localDatabasePath.description"), getUserHome() + File.separator + "isis-database-3"), + DATABASE_LOCK_MODE("database.lockmode", _("isisfish.config.database.lockmode.description"), "file"), + // TODO remove duplicated ssh key configuration SSH_KEY_FILE("ssh.key.file", _("isisfish.config.vcs.keyFile.description"), getUserHome() + File.separator + ".ssh" + File.separator + "isis_rsa"), SSH_PASSPHRASE_ENABLED("ssh.passphrase.enabled", _("isisfish.config.vcs.noPassPhrase.description"), "false"), Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-04-22 10:30:56 UTC (rev 2136) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-04-22 17:03:14 UTC (rev 2137) @@ -17,6 +17,7 @@ package fr.ifremer.isisfish.datastore; import fr.ifremer.isisfish.IsisConfig; +import fr.ifremer.isisfish.IsisFish; import fr.ifremer.isisfish.IsisFishDAOHelper; import fr.ifremer.isisfish.datastore.migration.SwingMigrationCallbackHandler; import org.codelutin.topia.migration.TopiaMigrationServiceImpl; @@ -65,7 +66,7 @@ protected static final String H2_URL = "jdbc:h2:file:%s;" + // on peut aussi utiliser file, socket - "FILE_LOCK=file;" + + "FILE_LOCK=%s;" + //1 or 2 is needed to restore avec crash // 0: logging is disabled (faster), // 1: logging of the data is enabled, but logging of the index @@ -143,10 +144,10 @@ // pour h2 on remet STORAGE_DATA car il ne cree pas de repertoire String url; if (tryRecover) { - url = String.format(H2_RECOVER_URL, getStorageDataDirectory(databasePath).getPath()); + url = String.format(H2_RECOVER_URL, getStorageDataDirectory(databasePath).getPath(), IsisFish.config.getDatabaseLockMode()); } else { - url = String.format(H2_URL, getStorageDataDirectory(databasePath).getPath()); + url = String.format(H2_URL, getStorageDataDirectory(databasePath).getPath(), IsisFish.config.getDatabaseLockMode()); } config.setProperty(Environment.URL, url); Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-04-22 10:30:56 UTC (rev 2136) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-04-22 17:03:14 UTC (rev 2137) @@ -144,6 +144,7 @@ isisfish.common.warn=warn isisfish.common.year=annee isisfish.common.zone=zone +isisfish.config.database.lockmode.description= isisfish.config.main.compileDirectory.description= isisfish.config.main.configFileName.description= isisfish.config.main.defaultBackupDirectory.description= Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-04-22 10:30:56 UTC (rev 2136) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-04-22 17:03:14 UTC (rev 2137) @@ -144,6 +144,7 @@ isisfish.common.warn=Warning isisfish.common.year=ann\u00E9e isisfish.common.zone=Zone +isisfish.config.database.lockmode.description= isisfish.config.main.compileDirectory.description=le r\u00E9pertoire o\u00F9 sont compil\u00E9s les scripts isisfish.config.main.configFileName.description=le fichier de configuration \u00E0 utiliser isisfish.config.main.defaultBackupDirectory.description=le r\u00E9pertoire o\u00F9 stocker les backups des donn\u00E9es
participants (1)
-
chatellier@users.labs.libre-entreprise.org