Now, everything working fine. :) Thanks Jon.
-----Original Message----- From: Jon Wingfield [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 11, 2003 4:50 PM To: Tomcat Users List Subject: Re: Problem with ConnectionPool on Linux MySql times out idle connections. If your pool implementation doesn't take care of weeding out dead connections you need to add autoReconnect=true to your connection string. HTH, Jon Veselin Kovacevic wrote: > Hi, > > I have o problem with Tomcat 4.1.24 on SuseLinux7.3. Our application > has Controller servlet (below) where using connection objects from > connection pool. When tomcat started, application working fine and > everything OK that day. But next day when we try to start application > we get error message in isUser method (PortalUserDB class). It's first > place where we use connection object in application. Method isUser is > very simple method for authenticate user (below). We get this > exception: SQL Exception:java.sql.SQLException: No operations allowed > after connection closed > > Connection object is not null in this case, and this message for me is > not correct. Next, if I restart tomcat, everything working ok... (for > next day). > > On windows (we using windows for development platform) we have not > this problem. > > What is problem? > Is configuration server.xml or similar configuration files on Linux > different rather on windows? > > Note: > On both platform we using Tomcat 4.1.24 and j2sdk1.4.1_03. > > > public class Controller extends HttpServlet { > > private DataSource ds; > > public void init(ServletConfig config) throws ServletException { > super.init(config); > try { > InitialContext initCtx = new InitialContext(); > Context envCtx = > (Context)initCtx.lookup("java:comp/env"); > ds = > (DataSource)envCtx.lookup("jdbc/MySQLPool"); > } catch (Exception e){ > throw new UnavailableException(e.getMessage()); > } > } > > public void doGet(HttpServletRequest request, HttpServletResponse > response) > throws IOException, > ServletException { > > request.setCharacterEncoding("iso-8859-2"); > > ........................ > ........................ > > if (ds != null) { > Connection conn = ds.getConnection(); > if (conn != null) { > boolean isUserExists = > PortalUserDB.isUser(conn, userName, userPass); > ........................ > ........................ > conn.close(); > } > ........................ > ........................ > > } > } > > public static boolean isUser(Connection conn, String userName, String > userPass) > throws SQLException, IOException { > > String query = "SELECT user_name FROM admin_user " + > "WHERE user_name = ? " + > "AND user_pass = ?"; > > boolean isUserExists = false; > > try { > PreparedStatement pstmt = conn.prepareStatement(query); > pstmt.setString(1, userName); > pstmt.setString(2, userPass); > > ResultSet rs = pstmt.executeQuery(); > > isUserExists = rs.next(); > > rs.close(); > rs = null; > pstmt.close(); > pstmt = null; > > } catch (SQLException sqle) { > PortalLog.addLogLine("Class: PortalUserDB, Method: > isUser. SQL Exception:" + sqle, userName); > } > > return isUserExists; > } > > Thanks, > Veso > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
