わかりました、これが私の疑問です...
いくつかのクラスを持つblazeDS(tomcat)アプリケーションがあり、各クラスは構成とDB接続にConfig
とクラスを使用します...DB
これがの例です
Config
クラス
public class Config {
public static final String DBClass = "oracle.jdbc.driver.OracleDriver";
public static final String ConnectString = "jdbc:oracle:thin:@//127.0.0.1:1521/xe";
public static final String UserDB = "user";
public static final String PasswordDB = "pass";
}
DB
クラス
public class DB
{
public DB() {}
public static Connection dbConnect(Connection c)
{
try
{ if (c == null || c.isClosed()){
Class.forName(Config.DBClass);
c = DriverManager.getConnection(Config.ConnectString,Config.UserDB,Config.PasswordDB);
}
return c;
}
catch (Exception e)
{
System.out.println(e.getMessage());
return null;
}
}
public static void closeConnection(Connection connection) throws SQLException
{
if (!connection.isClosed())
connection.close();
}
}
Config.class
テスト環境と本番環境があり、DBアクセスごとにユーザー/パスワードが異なります。本番ファイルをテストクラスで更新すると(上書きしない)、DBからエラーが発生することに気付きました...
したがって、static final
コンパイルされたバージョンの値(user / pass)は、クラス自体(私の場合はDB.class)に直接保存されますか?