Actually I took the nightly build of DBCP a week before it went into release, built it on my own and replaced the one that shipped with tomcat (since I couldn't find a pre-built binary). I think you do need to change commons-pool as well. You also probably need testOnBorrow as well for this to work.

With the dbcp that shipped with tomcat, if my db connections in the pool timed out (being idle), dbcp wasn't able to handle it.


Veselin Kovacevic wrote:


You think DBCP 1.1?
I try to install Tomcat 4.1.29 but I get some error with connection
pool.
Is there some changes in server.xml settings?

-----Original Message-----
From: Kwok Peng Tuck [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 12, 2003 9:13 AM
To: Tomcat Users List
Subject: Re: Problem with ConnectionPool on Linux



The new version of DBCP should be able to cope with this as well. I tested it with MaxDB and it works ok.

Veselin Kovacevic wrote:



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]










---------------------------------------------------------------------
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]



Reply via email to