添加多运行环境支持 #14

Open
xiaohai2271 wants to merge 36 commits from feat-multlyEnv#13 into master-old
2 changed files with 19 additions and 5 deletions
Showing only changes of commit c56a3eaf83 - Show all commits

View File

@@ -49,7 +49,9 @@ public class DruidConfig {
private DruidDataSource readConfigFromFile(File file) throws IOException { private DruidDataSource readConfigFromFile(File file) throws IOException {
Properties properties = new Properties(); Properties properties = new Properties();
properties.load(new FileInputStream(file)); FileInputStream fis = new FileInputStream(file);
properties.load(fis);
fis.close();
String url = properties.getProperty(DB_CONFIG_URL_PREFIX, null); String url = properties.getProperty(DB_CONFIG_URL_PREFIX, null);
String username = properties.getProperty(DB_CONFIG_USERNAME_PREFIX, null); String username = properties.getProperty(DB_CONFIG_USERNAME_PREFIX, null);
String password = properties.getProperty(DB_CONFIG_PASSWORD_PREFIX, null); String password = properties.getProperty(DB_CONFIG_PASSWORD_PREFIX, null);

View File

@@ -1,6 +1,8 @@
package cn.celess.blog.configuration; package cn.celess.blog.configuration;
import cn.celess.blog.BaseTest; import cn.celess.blog.BaseTest;
import cn.celess.blog.enmu.ConfigKeyEnum;
import cn.celess.blog.service.fileserviceimpl.LocalFileServiceImpl;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
@@ -43,13 +45,17 @@ public class DruidConfigTest extends BaseTest {
// 有配置文件的测试 // 有配置文件的测试
Properties properties = new Properties(); Properties properties = new Properties();
properties.load(new FileInputStream(configFile)); FileInputStream fileInputStream = new FileInputStream(configFile);
properties.load(fileInputStream);
fileInputStream.close();
properties.setProperty(DruidConfig.DB_CONFIG_URL_PREFIX, "jdbc:mysql://localhost:3306/blog"); properties.setProperty(DruidConfig.DB_CONFIG_URL_PREFIX, "jdbc:mysql://localhost:3306/blog");
properties.setProperty(DruidConfig.DB_CONFIG_DRIVER_CLASS_NAME_PREFIX, "com.mysql.cj.jdbc.Driver"); properties.setProperty(DruidConfig.DB_CONFIG_DRIVER_CLASS_NAME_PREFIX, "com.mysql.cj.jdbc.Driver");
properties.setProperty(DruidConfig.DB_CONFIG_USERNAME_PREFIX, "username"); properties.setProperty(DruidConfig.DB_CONFIG_USERNAME_PREFIX, "username");
properties.setProperty(DruidConfig.DB_CONFIG_PASSWORD_PREFIX, "password"); properties.setProperty(DruidConfig.DB_CONFIG_PASSWORD_PREFIX, "password");
// 保存到文件 // 保存到文件
properties.store(new FileOutputStream(configFile), "db config"); FileOutputStream fileOutputStream = new FileOutputStream(configFile);
properties.store(fileOutputStream, "数据库配置");
fileOutputStream.close();
druidDataSource = druidConfig.initDataSource(); druidDataSource = druidConfig.initDataSource();
assertEquals(properties.getProperty(DruidConfig.DB_CONFIG_URL_PREFIX), druidDataSource.getUrl()); assertEquals(properties.getProperty(DruidConfig.DB_CONFIG_URL_PREFIX), druidDataSource.getUrl());
assertEquals(properties.getProperty(DruidConfig.DB_CONFIG_DRIVER_CLASS_NAME_PREFIX), druidDataSource.getDriverClassName()); assertEquals(properties.getProperty(DruidConfig.DB_CONFIG_DRIVER_CLASS_NAME_PREFIX), druidDataSource.getDriverClassName());
@@ -62,12 +68,18 @@ public class DruidConfigTest extends BaseTest {
if (bakConfigFile.exists()) { if (bakConfigFile.exists()) {
System.out.println("恢复配置文件成功"); System.out.println("恢复配置文件成功");
copyFile(bakConfigFile, configFile); copyFile(bakConfigFile, configFile);
bakConfigFile.deleteOnExit(); assertTrue(bakConfigFile.delete());
} else {
configFile.deleteOnExit();
} }
} }
@Before @Before
public void recordConfig() throws IOException { public void recordConfig() {
File path = new File(LocalFileServiceImpl.getPath(System.getProperty(ConfigKeyEnum.BLOG_FILE_PATH.getKey())));
if (!path.exists() && !path.mkdirs()) {
fail("创建失败");
}
this.bakConfigFile = new File(DruidConfig.DB_CONFIG_PATH + ".bak"); this.bakConfigFile = new File(DruidConfig.DB_CONFIG_PATH + ".bak");
this.configFile = new File(DruidConfig.DB_CONFIG_PATH); this.configFile = new File(DruidConfig.DB_CONFIG_PATH);
if (configFile.exists()) { if (configFile.exists()) {