Re: R: JDBC Servlet Problems

Kai Ojansuu <[email protected]>
Newsgroups gmane.comp.java.sun.servlet
Message-ID <[email protected]>
> I wrote several servlets that access a MySQL database using a single,
> persistent, sychronized connection.

>    public static synchronized MySQLConnection getInstance(){
>       return theConnection;
>    }

There's no use for synchronized keyword in that method. The method is
synchronized, NOT the returned connection.

If you want to use a synchronized connection, you should do something
like (maybe you do it already):

MySQLConnection mConn = MySQLConnection.getInstance();
synchronized ( mConn ) {
  ...
}


I've seen somewhere simple conn-pools that are used like this:

List connList = new Vector(); //List holding the connections

doXXX, service etc...:
1. remove the last element (connection) from the list.
  1.1 if list was empty, create new connection.
2. use database with that connection.
3. put the connection back to list.

//1. :
conn = null;
synchronized ( connList ) {
 if ( connList.isEmpty() ) {
   //1.1
   conn = ...
 }
 else {
   conn = (Connection) connList.remove( connList.size() - 1 );
 }
}

//2. :
//Do the DB

//3. :
connList.add( conn );


1.1 should also contain some sort of maxConnection -limitation.

I hope this gave you some idea...

-clapu

___________________________________________________________________________
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.