import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Locale;
+import java.sql.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
-import mir.config.MirPropertiesConfiguration;
-import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
-import mir.log.LoggerWrapper;
-import mir.storage.DatabaseAdaptor;
-import com.codestudio.util.JDBCPool;
+import com.codestudio.util.*;
import com.codestudio.util.JDBCPoolMetaData;
import com.codestudio.util.SQLManager;
+import mir.config.MirPropertiesConfiguration;
+import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
+import mir.log.LoggerWrapper;
+import mircoders.global.*;
+
/**
* Title: Mir
* Description: Abstract servlet-class
* Copyright: Copyright (c) 2001, 2002
* Company: Mir-coders group
* @author idfx, the Mir-coders group
- * @version $Id: AbstractServlet.java,v 1.30.2.1 2003/06/13 03:54:08 zapata Exp $
+ * @version $Id: AbstractServlet.java,v 1.30.2.2 2003/06/27 02:43:42 zapata Exp $
*/
public abstract class AbstractServlet extends HttpServlet {
try {
configuration = MirPropertiesConfiguration.instance();
}
- catch (PropertiesConfigExc e) {
- throw new ServletException(e);
+ catch (Throwable t) {
+ logger.fatal("can't read configuration: " + t.toString());
+ throw new ServletException("can't read configuration: " + t.toString());
+ }
+
+ try {
+ MirGlobal.localizer();
+ }
+ catch (Throwable t) {
+ logger.fatal("can't get localizer: " + t.toString());
+ throw new ServletException("can't get localizer: " + t.toString());
}
String dbUser = configuration.getString("Database.Username");
String dbPassword = configuration.getString("Database.Password");
String dbHost = configuration.getString("Database.Host");
+ String dbPort = configuration.getString("Database.Port");
String dbAdapName = configuration.getString("Database.Adaptor");
String dbName = configuration.getString("Database.Name");
-
- DatabaseAdaptor adaptor;
- try {
- adaptor = (DatabaseAdaptor) Class.forName(dbAdapName).newInstance();
- }
- catch (Exception e) {
- throw new ServletException("Could not load DB adapator: " +
- e.toString());
- }
-
- String dbDriver;
- String dbUrl;
- try {
- dbDriver = adaptor.getDriver();
- dbUrl = adaptor.getURL(dbUser, dbPassword, dbHost);
- }
- catch (Exception e) {
- throw new ServletException(e);
- }
+ String dbDriver = configuration.getString("Database.Driver");
+ String dbUrl = "jdbc:postgresql://"+dbHost+":"+dbPort+"/"+dbName;
+ int dbMin = configuration.getInteger("Database.poolMin", 1);
+ int dbMax = configuration.getInteger("Database.poolMax", 10);
JDBCPoolMetaData meta = new JDBCPoolMetaData();
meta.setDbname(dbName);
meta.setUserName(dbUser);
meta.setPassword(dbPassword);
meta.setJNDIName("mir");
- meta.setMaximumSize(10);
- meta.setMinimumSize(1);
+ meta.setMaximumSize(dbMax);
+ meta.setMinimumSize(dbMin);
meta.setPoolPreparedStatements(false);
meta.setCacheEnabled(false);
meta.setCacheSize(15);
meta.setDebugging(false);
-// meta.setLogFile(dblogfile+".pool");
SQLManager manager = SQLManager.getInstance();
+
JDBCPool pool = null;
if (manager != null) {
pool = manager.createPool(meta);
}
+
+ Connection connection;
+ try {
+ connection = pool.requestConnection();
+ pool.closeConnection(connection);
+ }
+ catch (Throwable t) {
+ logger.fatal("Can't connect to database: " + t.toString());
+ throw new ServletException("Can't connect to database: " + t.toString());
+ }
}
private void setEncoding(HttpServletRequest request){