Hi Caroline,
first i want to thank you for the time you spent to answer my reply.
second, in your example, which imports are irrelavant to me? i'm assuming i
dont need any of the artimus stuff, whatever that is.
thanks
mike ni
>From: Caroline Jen <jiapei_jen@(protected)>
>Reply-To: "Tomcat Users List" <users@(protected)>
>To: Tomcat Users List <users@(protected)>
>Subject: Re: web application - student need help
>Date: Sun, 7 Jan 2007 15:59:16 -0800 (PST)
>
>For configuring a connection pool, follow this URL:
>http://jakarta.apache.org/commons/dbcp/configuration.html
>
>1. The JDBC driver JAR must go in the common/lib
>directory (because for connection pooling it needs to
>be accessible to
>both Tomcat and the web app).
>
>2. DBCP is built into Tomcat so you don't need to
>install a JAR for that.
>
>3. Always close the connection when you're done with
>it.
>
>The configuration shown below is what in my Tomcat's
>server.xml file:
>
> <DefaultContext>
> <Resource name="jdbc/MySQLDB" auth="Container"
> type="
javax.sql.DataSource"/>
> <ResourceParams name="jdbc/MySQLDB">
> <parameter>
> <name>factory</name>
>
><value>
org.apache.commons.dbcp.BasicDataSourceFactory</value>
> </parameter>
> <parameter>
> <name>driverClassName</name>
> <value>
com.mysql.jdbc.Driver</value>
> </parameter>
> <parameter>
> <name>url</name>
>
><value>jdbc:mysql://localhost:3306/artimus?autoReconnect=true</value>
> </parameter>
> <parameter>
> <name>username</name>
> <value>javauser</value>
> </parameter>
> <parameter>
> <name>password</name>
> <value>javadude</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>20</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>30</value>
> </parameter>
> <parameter>
> <name>maxWait</name>
> <value>10000</value>
> </parameter>
> <parameter>
> <name>removeAbandoned</name>
> <value>true</value>
> </parameter>
> <parameter>
>
><name>removeAbandonedTimeout</name>
> <value>60</value>
> </parameter>
> <parameter>
> <name>logAbandoned</name>
> <value>true</value>
> </parameter>
>
> </ResourceParams>
> </DefaultContext>
>
> </Host>
>
>Then, the code to get a DB connection is:
>
>import
java.sql.Connection;
>import
java.sql.SQLException;
>import
javax.naming.InitialContext;
>import
javax.naming.NamingException;
>import
javax.sql.DataSource;
>
>public class DBConnection
>{
> public static Connection getDBConnection() throws
>SQLException
> {
> Connection conn = null;
>
> try
> {
> InitialContext ctx = new InitialContext();
> DataSource ds = ( DataSource ) ctx.lookup(
>"java:comp/env/jdbc/MySQLDB" );
>
> try
> {
> conn = ds.getConnection();
> }
> catch( SQLException e )
> {
> System.out.println( "Open connection
>failure: " + e.getMessage() );
> }
> }
> catch( NamingException nEx )
> {
> nEx.printStackTrace();
> }
> return conn;
> }
>}
>
>Then, the code to use the DB connection:
>
>import
java.io.IOException;
>import
java.sql.Connection;
>import
java.sql.ResultSet;
>import
java.sql.Statement;
>import
java.sql.PreparedStatement;
>import
java.sql.SQLException;
>import
java.sql.Timestamp;
>
>import
java.util.ArrayList;
>import
java.util.Collection;
>
>import org.apache.artimus.message.ThreadBean;
>import org.apache.artimus.message.PostBean;
>import org.apache.artimus.message.AttachmentBean;
>import
>org.apache.artimus.message.exceptions.MessageDAOSysException;
>import
>org.apache.artimus.message.exceptions.ObjectNotFoundException;
>import
>org.apache.artimus.message.exceptions.AssertionException;
>import
>org.apache.artimus.message.exceptions.DatabaseException;
>import
>org.apache.artimus.message.exceptions.BadInputException;
>import org.apache.artimus.ConnectionPool.DBConnection;
>
>public class MySQLMessageDAO implements MessageDAO
>{
> public void createThread( String receiver, String
>sender, String title,
> String
>lastPostMemberName, String threadTopic,
> String threadBody,
>Timestamp threadCreationDate,
> Timestamp
>threadLastPostDate, int threadType,
> int threadOption, int
>threadStatus, int threadViewCount,
> int threadReplyCount, int
>threadDuration )
> throws
>MessageDAOSysException
> {
> Connection conn = null;
> PreparedStatement stmt = null;
> String insertSQL = "INSERT INTO message_thread(
>message_receiver, message_sender, article_title,
>last_post_member_name, thread_topic, thread_body,
>thread_creation_date, thread_last_post_date,
>thread_type, thread_option, thread_status,
>thread_view_count, thread_reply_count, thread_duration
>) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
>
> try
> {
> conn = DBConnection.getDBConnection();
> stmt = conn.prepareStatement( insertSQL );
>
> stmt.setString( 1, receiver );
> stmt.setString( 2, sender );
> stmt.setString( 3, title );
> stmt.setString( 4, lastPostMemberName );
> stmt.setString( 5, threadTopic );
> stmt.setString( 6, threadBody );
> stmt.setTimestamp( 7, threadCreationDate );
> stmt.setTimestamp( 8, threadLastPostDate );
> stmt.setInt( 9, threadType );
> stmt.setInt( 10, threadOption );
> stmt.setInt( 11, threadStatus );
> stmt.setInt( 12, threadViewCount );
> stmt.setInt( 13, threadReplyCount );
> stmt.setInt( 14, threadDuration );
>
> stmt.executeUpdate();
> // m_dirty = true;
> }
> catch( SQLException se )
> {
> System.out.println( se.getMessage() );
> se.printStackTrace();
> throw new MessageDAOSysException( "Error
>executing SQL in ThreadHandler.createThread." );
> }
> finally
> {
> if ( conn != null )
> {
> try
> {
> stmt.close();
> stmt = null;
> conn.close();
> }
> catch( SQLException sqlEx )
> {
> System.out.println( "Problem occurs
>while closing " + sqlEx );
> }
> conn = null;
> }
> }
> }
>}
>
>-Caroline
>--- Michael Ni <mikeni123@(protected):
>
> > thx caroline
> >
> >
> > >From: Caroline Jen <jiapei_jen@(protected)>
> > >Reply-To: "Tomcat Users List"
> > <users@(protected)>
> > >To: Tomcat Users List <users@(protected)>
> > >Subject: Re: web application - student need help
> > >Date: Fri, 5 Jan 2007 13:42:18 -0800 (PST)
> > >
> > >Did you configure a connection pool in Tomcat?
> > Then,
> > >get a connection object from the pool for each data
> > >search method invocation.
> > >
> > >I am at work now. I do not have the configuration
> > >with me. I can post the configuration and the
> > >database access code when I get home.
> > >
> > >Meanwhile, do a search on the internet.
> > >--- Michael Ni <mikeni123@(protected):
> > >
> > > > i don't get any error when there isn't that much
> > > > traffic
> > > >
> > > > but i dont close my jdbc connections, could that
> > be
> > > > a problem?
> > > >
> > > > this is the function i use to query
> > > >
> > > >
> >
> >----------------------------------------------------------------------------------------
> > > > public ResultSet getData(String queryStr) throws
> > > > Exception
> > > > {
> > > >
> > > > try {
> > > > DBConstants db = new DBConstants();
> > > > Class.forName(db.getDrivername());
> > > > Connection conn;
> > > > conn =
> > > >
> >
> >DriverManager.getConnection("jdbc:microsoft:sqlserver://"
> > > > +
> > > > db.getHostname() + "","" + db.getUsername() +
> > "",""
> > > > + db.getPassword() +
> > > > "");
> > > >
> > > >
> > > > Statement stmt = conn.createStatement();
> > > > ResultSet rs = stmt.executeQuery(queryStr);
> > > > return rs;
> > > > }
> > > > catch(Exception e) {
> > > > e.printStackTrace();
> > > > System.out.println("getData error");
> > > > throw new Exception();
> > > > }
> > > > }
> > > >
> >
> >----------------------------------------------------------------------------------
> > > >
> > > > then if i want to use it in a jsp page i will do
> > > > something like this
> > > >
> >
> >------------------------------------------------------------------------
> > > >
> > > > <%
> > > > DBPoolBean dbpb = new DBPoolBean();
> > > >
> > > > ResultSet rs = dbpb.getData("SELECT * FROM
> > drops
> > > > order by hnm,
> > > > itemname_en");
> > > > while ( rs.next() ) {
> > > > out.println("<tr><td width=\"50\">" +
> > > > rs.getString("hnm") + " </td>");
> > > > out.println("<td width=\"50\">" +
> > > > rs.getString("itemname_en") + "
> > > > </td></tr>");
> > > > }
> > > > %>
> > > >
> > > >
> > > >
> > > > >From: Darek Czarkowski
> > > > <dczarkowski@(protected)>
> > > > >Reply-To: "Tomcat Users List"
> > > > <users@(protected)>
> > > > >To: Tomcat Users List <users@(protected)>
> > > > >Subject: Re: web application - student need
> > help
> > > > >Date: Fri, 05 Jan 2007 12:52:19 -0800
> > > > >
> > > > >Michael Ni wrote:
> > > > >>
> > > > >>the web application uses simple queries, like
> > > > search a table for a certain
> > > > >>condition. i realize when multiple people
> > access
> > > > the database it hangs,
> > > > >>and causes the jsp pages to error.
> > > > >Just a guess, your connection to the database
> > is a
> > > > problem, perhaps errors
> > > > >in queries, not closed connections.
> > > > >What are the error messages? (page/log)
> > > > >
> > > > >--
> > > > >Darek Czarkowski
> > > > >Ph: 604 294 6557 (Ext. 113)
> > > > >Fx: 604 294 6507
> > > > >www.infinitesource.ca
> > > > >darekc at infinitesource dot ca
> > > > >
> > > > >
> > > >
> > >
> >
> >---------------------------------------------------------------------
> > > > >To start a new topic, e-mail:
> > > > users@(protected)
> > > > >To unsubscribe, e-mail:
> > > > users-unsubscribe@(protected)
> > > > >For additional commands, e-mail:
> > > > users-help@(protected)
> > > > >
> > > >
> > > >
> >
> >_________________________________________________________________
> > > > Type your favorite song.? Get a customized
> > station.?
> > > > Try MSN Radio powered
> > > > by Pandora.
> > > > http://radio.msn.com/?icid=T002MSN03A07001
> > > >
> > > >
> > > >
> >
> >---------------------------------------------------------------------
> > > > To start a new topic, e-mail:
> > > > users@(protected)
> > > > To unsubscribe, e-mail:
> > > > users-unsubscribe@(protected)
> > > > For additional commands, e-mail:
> > > > users-help@(protected)
> > > >
> > > >
> > >
> > >
> > >__________________________________________________
> > >Do You Yahoo!?
> > >Tired of spam? Yahoo! Mail has the best spam
> > protection around
> > >http://mail.yahoo.com
> > >
> >
> >---------------------------------------------------------------------
> > >To start a new topic, e-mail:
> > users@(protected)
> > >To unsubscribe, e-mail:
> > users-unsubscribe@(protected)
> > >For additional commands, e-mail:
> > users-help@(protected)
> > >
> >
> >
>_________________________________________________________________
> > From photos to predictions, The MSN Entertainment
> > Guide to Golden Globes has
> > it all.
> > http://tv.msn.com/tv/globes2007/?icid=nctagline1
> >
> >
> >
>---------------------------------------------------------------------
> > To start a new topic, e-mail:
> > users@(protected)
> > To unsubscribe, e-mail:
> > users-unsubscribe@(protected)
> > For additional commands, e-mail:
> > users-help@(protected)
> >
> >
>
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam? Yahoo! Mail has the best spam protection around
>http://mail.yahoo.com
>
>---------------------------------------------------------------------
>To start a new topic, e-mail: users@(protected)
>To unsubscribe, e-mail: users-unsubscribe@(protected)
>For additional commands, e-mail: users-help@(protected)
>
_________________________________________________________________
Get FREE Web site and company branded e-mail from Microsoft Office Live
http://clk.atdmt.com/MRT/go/mcrssaub0050001411mrt/direct/01/
---------------------------------------------------------------------
To start a new topic, e-mail: users@(protected)
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)