Major schedules & DB refactor
Refactored many calls for TimerManager's schedules throughout the source. Switched all tables using MyISAM to InnoDB: on a multi-threaded environment such as this, table-locking is an instant no-no, and other gains MyISAM would have over InnoDB are minimal. Altered getConnection() to properly throw an exception (good practice!) in case of no available connection instead of a mere null.
This commit is contained in:
@@ -26,16 +26,16 @@ public class DatabaseConnection {
|
||||
}
|
||||
|
||||
int denies = 0;
|
||||
while(true) { // There is no way it can pass with a null out of here
|
||||
while(true) { // There is no way it can pass with a null out of here?
|
||||
try {
|
||||
return DriverManager.getConnection(ServerConstants.DB_URL, ServerConstants.DB_USER, ServerConstants.DB_PASS);
|
||||
} catch (SQLException sqle) {
|
||||
denies++;
|
||||
|
||||
if(denies == 3) {
|
||||
// Give up, return null :3
|
||||
FilePrinter.printError(FilePrinter.SQL_EXCEPTION, "SQL Driver refused to give a connection after " + denies + " tries.");
|
||||
return null;
|
||||
// Give up, throw exception. Nothing good will come from this.
|
||||
FilePrinter.printError(FilePrinter.SQL_EXCEPTION, "SQL Driver refused to give a connection after " + denies + " tries. Problem: " + sqle.getMessage());
|
||||
throw sqle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user