diff --git a/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/PrimarySlaveTest.java b/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/PrimarySlaveTest.java
index a26aa7c27ed1a1f0612c46b031a030994cff8b5c..8cc5bae66468af138fd5841c3542b6389f4ab246 100644
--- a/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/PrimarySlaveTest.java
+++ b/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/PrimarySlaveTest.java
@@ -49,23 +49,19 @@ public class PrimarySlaveTest extends TestCase {
private static final String[] DERBY_DBS = { "db01", "db02", "db03" }; // derby数据库
private static RouterManager routerManager; // tiny路由管理器
- private static boolean inited; // 是否已初始化
protected void setUp() throws Exception {
super.setUp();
- // init(); // 初始化derby数据库和表
}
protected void tearDown() throws Exception {
super.tearDown();
- // destroy(); // 关闭derby数据库,并清理对应文件夹
}
- public static void main(String[] args) {
+ public void test() {
try {
init(); // 初始化derby数据库和表
- PrimarySlaveTest test = new PrimarySlaveTest();
- test.commonTest();
+ commonTest();
} catch (Exception e) {
throw new RuntimeException("测试失败", e);
} finally {
@@ -73,19 +69,6 @@ public class PrimarySlaveTest extends TestCase {
}
}
- public void test() {
- // if (!inited) { // 未初始化
- // return;
- // }
- //
- // try {
- // commonTest();
- // } catch (Exception e) {
- // destroy(); // 关闭derby数据库,并清理对应文件夹
- // throw new RuntimeException("测试失败", e);
- // }
- }
-
private void commonTest() throws Exception {
Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
@@ -144,31 +127,22 @@ public class PrimarySlaveTest extends TestCase {
*
* @throws Exception
*/
- private static void init() {
- if (inited) { // 已初始化
- return;
- }
+ private static void init() throws Exception {
+ Class.forName(TINY_DRIVER); // 加载tiny数据库驱动
+ Class.forName(DERBY_DRIVER).newInstance(); // 加载derby数据库驱动,调用newInstance()方法是解决有时注册加载驱动失败的问题
- try {
- Class.forName(TINY_DRIVER); // 加载tiny数据库驱动
- Class.forName(DERBY_DRIVER); // 加载derby数据库驱动
- } catch (ClassNotFoundException e) {
- throw new RuntimeException("数据库驱动加载失败!", e);
- }
-
- // 初始化routerManager
+ // 初始化routerManager,并添加路由
routerManager = RouterManagerBeanFactory.getManager();
routerManager.addRouters(ROUTER_CONFIG);
FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库路径
// 建表sql
- StringBuffer sb = new StringBuffer();
- sb.append("CREATE TABLE ");
- sb.append("teacher").append("(");
- sb.append("ID int not null,");
- sb.append("NAME varchar(20))");
- String sql = sb.toString();
+ StringBuffer sql = new StringBuffer();
+ sql.append("CREATE TABLE ");
+ sql.append("teacher").append("(");
+ sql.append("ID int not null,");
+ sql.append("NAME varchar(20))");
// 在每个数据库中建表
String derbyDbpath = DERBY_DBPATH;
@@ -180,21 +154,12 @@ public class PrimarySlaveTest extends TestCase {
url.append(derbyDbpath + derbyDB);
url.append(";create=true");
- Connection conn = null;
- Statement st = null;
- try {
- conn = DriverManager.getConnection(url.toString());
- st = conn.createStatement();
- st.execute(sql);
- } catch (SQLException e) {
- destroy(); // 关闭derby数据库,并清理对应文件夹
- throw new RuntimeException("建表失败!", e);
- } finally {
- close(conn, st, null);
- }
+ Connection conn = DriverManager.getConnection(url.toString());
+ Statement st = conn.createStatement();
+ st.execute(sql.toString());
+ close(conn, st, null);
}
- inited = true;
System.out.println("数据库和表初始化完成!");
}
@@ -235,11 +200,13 @@ public class PrimarySlaveTest extends TestCase {
} catch (SQLException e) {
// 关闭失败,忽略之
}
+ System.out.println("所有数据库已关闭!");
+ System.out.println("相关目录已删除!");
FileUtil.deleteFile("derby.log"); // 删除derby日志文件
FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库文件夹
- System.out.println("derby数据库清理完成!");
+ System.out.println("测试现场清理完成");
}
}
diff --git a/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeDiffSchemaTest.java b/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeDiffSchemaTest.java
index 82332ceae4f323526dfa6b33219623935dc19ec2..1a969c2a85da730c16bffbb1abc0eca1ad4a6916 100644
--- a/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeDiffSchemaTest.java
+++ b/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeDiffSchemaTest.java
@@ -28,28 +28,25 @@ public class ShardModeDiffSchemaTest extends TestCase {
private static final String[] DERBY_DBS = { "db01", "db02", "db03" }; // derby数据库
private static RouterManager routerManager; // tiny路由管理器
- private static boolean inited; // 是否已初始化
protected void setUp() throws Exception {
super.setUp();
- // init();
}
protected void tearDown() throws Exception {
super.tearDown();
- // destroy();
}
- public static void main(String[] args) {
+ public void test() {
Connection conn = null;
try {
- init(); // 初始化derby数据库和表
+ init(); // 初始化数据库和表
+
conn = DriverManager.getConnection(URL, USER, PASSWORD);
- ShardModeDiffSchemaTest test = new ShardModeDiffSchemaTest();
- test.relatedQueryTest(conn);
- test.statementTest(conn);
- test.resultSetTest(conn);
- test.relatedQueryTest2(conn);
+ relatedQueryTest(conn);
+ statementTest(conn);
+ resultSetTest(conn);
+ relatedQueryTest2(conn);
} catch (Exception e) {
throw new RuntimeException("测试失败", e);
} finally {
@@ -58,26 +55,6 @@ public class ShardModeDiffSchemaTest extends TestCase {
}
}
- public void test() {
- // if (!inited) { // 未初始化
- // return;
- // }
- //
- // Connection conn = null;
- // try {
- // conn = DriverManager.getConnection(URL, USER, PASSWORD);
- // relatedQueryTest(conn);
- // statementTest(conn);
- // resultSetTest(conn);
- // relatedQueryTest2(conn);
- // } catch (Exception e) {
- // destroy(); // 关闭derby数据库,并清理对应文件夹
- // throw new RuntimeException("测试失败", e);
- // } finally {
- // close(conn, null, null);
- // }
- }
-
/**
* 两张表关联查询测试
*
@@ -480,50 +457,45 @@ public class ShardModeDiffSchemaTest extends TestCase {
} catch (SQLException e) {
// 关闭失败,忽略之
}
+ System.out.println("所有数据库已关闭!");
FileUtil.deleteFile("derby.log"); // 删除derby日志文件
FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库文件夹
+ System.out.println("相关目录已删除!");
- System.out.println("derby数据库清理完成!");
+ System.out.println("测试现场清理完成!");
}
/**
* 初始化derby数据库和表
+ *
+ * @throws Exception
*/
- private static void init() {
- if (inited) { // 已初始化
- return;
- }
-
- try {
- Class.forName(TINY_DRIVER); // 加载tiny数据库驱动
- Class.forName(DERBY_DRIVER); // 加载derby数据库驱动
- } catch (ClassNotFoundException e) {
- throw new RuntimeException("数据库驱动加载失败!", e);
- }
+ private static void init() throws Exception {
+ Class.forName(TINY_DRIVER); // 加载tiny数据库驱动
+ Class.forName(DERBY_DRIVER).newInstance(); // 加载derby数据库驱动,调用newInstance()方法是解决有时注册加载驱动失败的问题
- // 初始化routerManager
+ // 初始化routerManager,并添加路由
routerManager = RouterManagerBeanFactory.getManager();
routerManager.addRouters(ROUTER_CONFIG);
- FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库路径
+ FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库路径,该目录不为空,则derby数据库创建失败
- StringBuffer sb = new StringBuffer();
- sb.append("CREATE TABLE ");
- sb.append("teacher").append("(");
- sb.append("ID int not null,");
- sb.append("NAME varchar(20))");
- String t_sql = sb.toString();
+ // 建teacher表sql
+ StringBuffer t_sql = new StringBuffer();
+ t_sql.append("CREATE TABLE teacher(");
+ t_sql.append("ID int not null,");
+ t_sql.append("NAME varchar(20))");
- sb = new StringBuffer();
- sb.append("CREATE TABLE student(");
- sb.append("ID int not null,");
- sb.append("TID int,");
- sb.append("AGE int,");
- sb.append("NAME varchar(20))");
- String s_sql = sb.toString();
+ // 建student表sql
+ StringBuffer s_sql = new StringBuffer();
+ s_sql.append("CREATE TABLE student(");
+ s_sql.append("ID int not null,");
+ s_sql.append("TID int,");
+ s_sql.append("AGE int,");
+ s_sql.append("NAME varchar(20))");
- // 在每个数据库中建表
+ // 新建数据库,并在每个新建的数据库上新建teacher表和student表
String derbyDbpath = DERBY_DBPATH;
if (!derbyDbpath.endsWith("/") && !derbyDbpath.endsWith("\\")) {
derbyDbpath = derbyDbpath + "/";
@@ -533,22 +505,13 @@ public class ShardModeDiffSchemaTest extends TestCase {
url.append(derbyDbpath + derbyDB);
url.append(";create=true");
- Connection conn = null;
- Statement st = null;
- try {
- conn = DriverManager.getConnection(url.toString());
- st = conn.createStatement();
- st.execute(t_sql);
- st.execute(s_sql);
- } catch (SQLException e) {
- destroy(); // 关闭derby数据库,并清理对应文件夹
- throw new RuntimeException("初始化表失败!", e);
- } finally {
- close(conn, st, null);
- }
+ Connection conn = DriverManager.getConnection(url.toString());
+ Statement st = conn.createStatement();
+ st.execute(t_sql.toString());
+ st.execute(s_sql.toString());
+ close(conn, st, null);
}
- inited = true;
System.out.println("数据库和表初始化完成!");
}
diff --git a/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeSameSchemaTest.java b/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeSameSchemaTest.java
index 74814b0b6ddf09cea32a02a261cfd886c87db617..cb5002cc7f6c6ac22a9b2b318d1153445003203d 100644
--- a/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeSameSchemaTest.java
+++ b/db/org.tinygroup.dbrouterjdbc3/src/test/java/org/tinygroup/dbrouterjdbc3/jdbc/ShardModeSameSchemaTest.java
@@ -55,52 +55,33 @@ public class ShardModeSameSchemaTest extends TestCase {
"student0", "student1", "student2" }; // derby数据库存放目录
private static RouterManager routerManager; // tiny路由管理器
- private static boolean inited; // 是否已初始化
protected void setUp() throws Exception {
super.setUp();
- // init();
}
protected void tearDown() throws Exception {
super.tearDown();
- // destroy();
}
- public static void main(String[] args) {
+ public void test() {
Connection conn = null;
try {
- init(); // 初始化derby数据库和表
+ init(); // 初始化数据库和表
+
conn = DriverManager.getConnection(URL, USER, PASSWORD);
- ShardModeSameSchemaTest test = new ShardModeSameSchemaTest();
- test.relatedQueryTest(conn);
- test.statementTest(conn);
- test.resultSetTest(conn);
- test.relatedQueryTest2(conn);
+ relatedQueryTest(conn);
+ statementTest(conn);
+ resultSetTest(conn);
+ relatedQueryTest2(conn);
} catch (Exception e) {
throw new RuntimeException("测试失败", e);
} finally {
- close(conn, null, null);
+ close(conn, null, null); // 关闭连接
destroy(); // 关闭derby数据库,并清理对应文件夹
}
}
- public void test() {
- // Connection conn = null;
- // try {
- // conn = DriverManager.getConnection(URL, USER, PASSWORD);
- // relatedQueryTest(conn);
- // statementTest(conn);
- // resultSetTest(conn);
- // relatedQueryTest2(conn);
- // } catch (Exception e) {
- // destroy(); // 关闭derby数据库,并清理对应文件夹
- // throw new RuntimeException("测试失败", e);
- // } finally {
- // close(conn, null, null); // 关闭连接
- // }
- }
-
/**
* 两张表关联查询测试
*
@@ -475,35 +456,29 @@ public class ShardModeSameSchemaTest extends TestCase {
} catch (SQLException e) {
// 关闭失败,忽略之
}
+ System.out.println("所有数据库已关闭!");
FileUtil.deleteFile("derby.log"); // 删除derby日志文件
FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库文件夹
+ System.out.println("相关目录已删除!");
- System.out.println("derby数据库清理完成!");
+ System.out.println("测试现场清理完成");
}
/**
* 初始化derby数据库和表
*
- * @throws SQLException
+ * @throws Exception
*/
- private static void init() throws SQLException {
- if (inited) { // 已初始化
- return;
- }
+ private static void init() throws Exception {
+ Class.forName(TINY_DRIVER); // 加载tiny数据库驱动
+ Class.forName(DERBY_DRIVER).newInstance(); // 加载derby数据库驱动,调用newInstance()方法是解决有时注册加载驱动失败的问题
- try {
- Class.forName(TINY_DRIVER); // 加载tiny数据库驱动
- Class.forName(DERBY_DRIVER); // 加载derby数据库驱动
- } catch (ClassNotFoundException e) {
- throw new RuntimeException("数据库驱动加载失败!", e);
- }
-
- // 初始化routerManager
+ // 初始化routerManager,并添加路由
routerManager = RouterManagerBeanFactory.getManager();
routerManager.addRouters(ROUTER_CONFIG);
- FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库路径
+ FileUtil.deleteFile(DERBY_DBPATH); // 删除derby数据库路径,该目录不为空,则derby数据库创建失败
String derbyDbpath = DERBY_DBPATH;
if (!derbyDbpath.endsWith("/") && !derbyDbpath.endsWith("\\")) {
@@ -513,37 +488,29 @@ public class ShardModeSameSchemaTest extends TestCase {
url.append(derbyDbpath + DERBY_DB);
url.append(";create=true");
- Connection conn = DriverManager.getConnection(url.toString());
+ Connection conn = DriverManager.getConnection(url.toString()); // 新建数据库
Statement st = conn.createStatement();
- try {
- for (String teacher : DERBY_TEACHER_TABLES) {
- StringBuffer sb = new StringBuffer();
- sb.append("CREATE TABLE ");
- sb.append(teacher).append("(");
- sb.append("ID int not null,");
- sb.append("NAME varchar(20))");
- st.execute(sb.toString());
- }
-
- for (String student : DERBY_STUDENT_TABLES) {
- StringBuffer sb = new StringBuffer();
- sb.append("CREATE TABLE ");
- sb.append(student);
- sb.append("(");
- sb.append("ID int not null,");
- sb.append("TID int,");
- sb.append("AGE int,");
- sb.append("NAME varchar(20))");
- st.execute(sb.toString());
- }
- } catch (SQLException e) {
- destroy(); // 关闭derby数据库,并清理对应文件夹
- throw new RuntimeException("初始化表失败!", e);
- } finally {
- close(conn, st, null);
+ for (String teacher : DERBY_TEACHER_TABLES) { // 在该数据库上新建表
+ StringBuffer sb = new StringBuffer();
+ sb.append("CREATE TABLE ");
+ sb.append(teacher).append("(");
+ sb.append("ID int not null,");
+ sb.append("NAME varchar(20))");
+ st.execute(sb.toString());
+ }
+ for (String student : DERBY_STUDENT_TABLES) { // 在该数据库上新建表
+ StringBuffer sb = new StringBuffer();
+ sb.append("CREATE TABLE ");
+ sb.append(student);
+ sb.append("(");
+ sb.append("ID int not null,");
+ sb.append("TID int,");
+ sb.append("AGE int,");
+ sb.append("NAME varchar(20))");
+ st.execute(sb.toString());
}
+ close(conn, st, null);
- inited = true;
System.out.println("数据库和表初始化完成!");
}
diff --git a/framework/org.tinygroup.vfs/pom.xml b/framework/org.tinygroup.vfs/pom.xml
index 3c6aca2b32ca3a592e048c76e62192217ff21e99..9135e78368fae88c52e7b5d7321f6186d7e4dfd2 100644
--- a/framework/org.tinygroup.vfs/pom.xml
+++ b/framework/org.tinygroup.vfs/pom.xml
@@ -1,48 +1,49 @@
- 4.0.0
-
- org.tinygroup
- framework
- 1.1.0-SNAPSHOT
-
- org.tinygroup.vfs
- org.tinygroup.vfs
- http://maven.apache.org
-
- UTF-8
-
-
-
- org.tinygroup
- org.tinygroup.exception
- ${project.version}
-
-
- commons-net
- commons-net
- 2.0
-
-
- org.tinygroup
- org.tinygroup.vfs
- ${project.version}
-
-
- commons-net
- commons-net
- 3.3
-
-
- junit
- junit
- 3.8.1
- test
-
-
- org.apache.ftpserver
- ftpserver-core
- 1.0.6
- test
-
-
-
+ 4.0.0
+
+ org.tinygroup
+ framework
+ 1.1.0-SNAPSHOT
+
+ org.tinygroup.vfs
+
+
+ org.tinygroup
+ org.tinygroup.exception
+ ${project.version}
+
+
+ commons-net
+ commons-net
+ 2.0
+
+
+ commons-net
+ commons-net
+ 3.3
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+ org.apache.ftpserver
+ ftpserver-core
+ 1.0.6
+ test
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+
+ org.slf4j
+ slf4j-api
+ 1.6.6
+
+
+
\ No newline at end of file
diff --git a/framework/org.tinygroup.vfs/src/test/java/org/tinygroup/vfs/impl/FtpFileObjectTest.java b/framework/org.tinygroup.vfs/src/test/java/org/tinygroup/vfs/impl/FtpFileObjectTest.java
index 037d268f5f6b6b028af742ce706a1741815fe266..edbf94585a89119a5b615bea92e79b239d1889f1 100644
--- a/framework/org.tinygroup.vfs/src/test/java/org/tinygroup/vfs/impl/FtpFileObjectTest.java
+++ b/framework/org.tinygroup.vfs/src/test/java/org/tinygroup/vfs/impl/FtpFileObjectTest.java
@@ -53,24 +53,23 @@ public class FtpFileObjectTest extends TestCase {
protected void tearDown() throws Exception {
super.tearDown();
- if (ftpServer != null) {
- ftpServer.stop(); // 停止服务器
- System.out.println("停止服务器成功");
- }
- deleteFile(rootDir); // 清理文件,文件夹
}
- public static void main(String[] args) throws Exception {
- init(); // 初始化ftp服务器
-
- FtpFileObjectTest ftpFileObjectTest = new FtpFileObjectTest();
- ftpFileObjectTest.fileTest();
- ftpFileObjectTest.folderTest();
- ftpFileObjectTest.folderTest2();
- ftpFileObjectTest.folderTest3();
+ public static void main(String[] args) {
+ try {
+ init(); // 初始化
+
+ FtpFileObjectTest test = new FtpFileObjectTest();
+ test.fileTest();
+ test.folderTest();
+ test.folderTest2();
+ test.folderTest3();
+ } catch (Exception e) {
+ throw new RuntimeException("测试失败", e);
+ } finally {
+ destroy();
+ }
- System.out.println("ftp服务器对应目录删除成功");
- deleteFile(rootDir); // 清理文件,文件夹
}
private static void init() throws Exception {
@@ -96,18 +95,25 @@ public class FtpFileObjectTest extends TestCase {
ftpServer.start(); // 启动服务器
System.out.println("ftp服务器启动成功,服务器根路径:" + rootDir);
} catch (FtpException e) {
- deleteFile(rootDir); // 清理文件,文件夹
throw new RuntimeException("ftp服务器启动失败", e);
}
- }
- public void test() throws Exception {
- // init(); // 初始化ftp服务器
+ inited = true;
+ }
+ public void test() {
+ // try {
+ // init();
+ //
// fileTest();
// folderTest();
// folderTest2();
// folderTest3();
+ // } catch (Exception e) {
+ // throw new RuntimeException("测试失败", e);
+ // } finally {
+ // destroy();
+ // }
}
private void fileTest() throws Exception {
@@ -305,6 +311,7 @@ public class FtpFileObjectTest extends TestCase {
try {
fos.close();
} catch (IOException e) {
+ throw new RuntimeException("内容写入文件失败", e);
}
}
if (pw != null) {
@@ -363,8 +370,17 @@ public class FtpFileObjectTest extends TestCase {
deleteFile(pathname + "/" + fileList[i]);
}
}
- System.out.println(file.getAbsolutePath() + ",删除成功");
file.delete();
}
+ private static void destroy() {
+ if (ftpServer != null) {
+ ftpServer.stop(); // 停止服务器
+ System.out.println("停止服务器成功");
+ }
+ deleteFile(rootDir); // 清理文件,文件夹
+ System.out.println("ftp服务器对应目录删除成功");
+ System.out.println("测试现场处理完成");
+ }
+
}