提交 e6cea889 authored 作者: Thomas Mueller's avatar Thomas Mueller

Make sure the client jar file is small.

上级 74ada80b
......@@ -21,7 +21,6 @@ import org.h2.security.SHA256;
import org.h2.store.fs.RecordingFileSystem;
import org.h2.util.IOUtils;
import org.h2.util.New;
import org.h2.util.RecoverTester;
import org.h2.util.SortedProperties;
import org.h2.util.StringUtils;
import org.h2.util.Utils;
......@@ -82,13 +81,13 @@ public class ConnectionInfo implements Cloneable {
parseName();
String recoverTest = removeProperty("RECOVER_TEST", null);
if (recoverTest != null) {
RecoverTester tester = RecoverTester.getInstance();
if (StringUtils.isNumber(recoverTest)) {
tester.setTestEvery(Integer.parseInt(recoverTest));
RecordingFileSystem.register();
try {
Utils.callStaticMethod("org.h2.store.RecoverTester.init", recoverTest);
} catch (Exception e) {
throw DbException.convert(e);
}
name = RecordingFileSystem.PREFIX + name;
RecordingFileSystem.register();
RecordingFileSystem.setRecorder(tester);
}
}
......
......@@ -4,7 +4,7 @@
* (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.util;
package org.h2.store;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
......@@ -18,7 +18,12 @@ import org.h2.engine.Database;
import org.h2.engine.Session;
import org.h2.message.DbException;
import org.h2.store.fs.Recorder;
import org.h2.store.fs.RecordingFileSystem;
import org.h2.tools.Recover;
import org.h2.util.IOUtils;
import org.h2.util.New;
import org.h2.util.StringUtils;
import org.h2.util.Utils;
/**
* A tool that simulates a crash while writing to the database, and then
......@@ -36,6 +41,19 @@ public class RecoverTester implements Recorder {
private HashSet<String> knownErrors = New.hashSet();
private volatile boolean testing;
/**
* Initialize the recover test.
*
* @param recoverTest the value of the recover test parameter
*/
public static synchronized void init(String recoverTest) {
RecoverTester tester = RecoverTester.getInstance();
if (StringUtils.isNumber(recoverTest)) {
tester.setTestEvery(Integer.parseInt(recoverTest));
}
RecordingFileSystem.setRecorder(tester);
}
public static synchronized RecoverTester getInstance() {
if (instance == null) {
instance = new RecoverTester();
......@@ -88,7 +106,7 @@ public class RecoverTester implements Recorder {
Database database = new Database(ci, null);
// close the database
Session session = database.getSystemSession();
session.prepare("script to '" + testDatabase + ".sql'").query(0);
session.prepare("script to '" + testDatabase + ".sql'").query(0);
session.prepare("shutdown immediately").update();
database.removeSession(null);
// everything OK - return
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论