If this question is related to hibernate it'd be more efficient and
appropriate to ask on a hibernate-related list probably.

Dave
 On Mar 5, 2011 3:32 AM, "abhishek jain" <abhishek.netj...@gmail.com> wrote:
> hi,
> thanks for the mail,
> i tried this but the problem still persists, i added the context.xml file
in
> META-INF and the database information was not being picked from there.
> Also i added the connect-timeout parameter in my.cnf file in the mysqld
> section, but still the the timeout was after 8 hours of inactivity.
>
> I will appreciate if one can tell me exactly what to do, pl consider me a
> newbie and will appreciate if the instructions be given.
>
> thanks
> abhishek
>
> On Tue, Mar 1, 2011 at 3:26 PM, Maurizio Cucchiara <
> maurizio.cucchi...@gmail.com> wrote:
>
>> I struggled with this issue for a long period, at the end I reached a
>> good point: I started using database connection pools [1].
>> Actually you should wait until the mysql connection dies (it should be
>> after 8 hours of db inactivity ), but you could change the
>> connect-timeout=seconds [2] in order to achieve the before mentioned
>> scenario.
>>
>> [1] http://commons.apache.org/dbcp/
>> [2] http://dev.mysql.com/doc/refman/5.5/en/mysql-options.html
>>
>>
>> Here my context.xml is:
>>
>> <Context
>> override="true"
>> reloadable="false"
>> unpackWARs="true" autoDeploy="true"
>> liveDeploy="false" allowLinking="true">
>> <!--
>> maxActive=10
>> Don't set this any higher than max_connections on your
>> MySQL server, usually this should be a 10 or a few 10's
>> of connections, not hundreds or thousands
>> -->
>> <!--
>> maxIdle=5
>> You don't want to many idle connections hanging around
>> if you can avoid it, only enough to soak up a spike in
>> the load
>> -->
>> <!--
>> validationQuery=select 1
>> Don't use autoReconnect=true, it's going away eventually
>> and it's a crutch for older connection pools that couldn't
>> test connections. You need to decide whether your application
>> is supposed to deal with SQLExceptions (hint, it should), and
>> how much of a performance penalty you're willing to pay
>> to ensure 'freshness' of the connection
>> -->
>>
>> <!--
>> testOnBorrow=true
>> The most conservative approach is to test connections
>> before they're given to your application. For most applications
>> this is okay, the query used above is very small and takes
>> no real server resources to process, other than the time used
>> to traverse the network.
>>
>> If you have a high-load application you'll need to rely on
>> something else.
>> -->
>> <!--
>> testWhileIdle=true
>> Otherwise, or in addition to testOnBorrow, you can test
>> while connections are sitting idle
>> -->
>> <!--
>> timeBetweenEvictionRunsMillis=10000
>> You have to set this value, otherwise even though
>> you've asked connections to be tested while idle,
>> the idle evicter thread will never run
>> -->
>> <!--
>> minEvictableIdleTimeMillis=60000
>> Don't allow connections to hang out idle too long,
>> never longer than what wait_timeout is set to on the
>> server...A few minutes or even fraction of a minute
>> is sometimes okay here, it depends on your application
>> and how much spikey load it will see
>> -->
>> <!--
>> maxWait
>> Maximum time to wait for a dB connection to become available
>> in ms, in this example 10 seconds. An Exception is thrown if
>> this timeout is exceeded. Set to -1 to wait indefinitely.
>> -->
>> <!--
>> removeAbandoned=true
>>
>> A database connection pool creates and manages a pool of
>> connections to a database. Recycling and reusing already
>> existing connections to a dB is more efficient than opening a
>> new connection.
>>
>> There is one problem with connection pooling. A web
>> application has to explicetely close ResultSet's, Statement's,
>> and Connection's.
>> Failure of a web application to close these resources can
>> result in them never being available again for reuse,
>> a db connection pool "leak". This can eventually result in
>> your web application db connections failing if there
>> are no more available connections.
>>
>> There is a solution to this problem. The Jakarta-Commons DBCP
>> can be configured to track and recover these
>> abandoned dB connections. Not only can it recover them, but
>> also generate a stack trace for the code which
>> opened these resources and never closed them.
>>
>> -->
>> <!--
>> removeAbandonedTimeout="60"
>> Use the removeAbandonedTimeout attribute to set the number of
>> seconds a dB connection has been idle before it
>> is considered abandoned.
>> -->
>> <!--
>> logAbandoned=true
>> The logAbandoned attribute can be set to true if you want DBCP
>> to log a stack trace of the code which abandoned
>> the dB connection resources.
>> -->
>> <Resource
>> type="javax.sql.DataSource"
>> name="jdbc/${CONTEXT_NAME}"
>> password="PASSWORD"
>> driverClassName="org.gjt.mm.mysql.Driver"
>> username="${USERNAME}"
>>
>>
url="jdbc:mysql://localhost/${DB_NAME}?zeroDateTimeBehavior=convertToNull"
>> auth="Container"
>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>> maxActive="20"
>> maxIdle="5"
>> validationQuery="select 1"
>> testOnBorrow="true"
>> testWhileIdle="true"
>> timeBetweenEvictionRunsMillis="10000"
>> minEvictableIdleTimeMillis="60000"
>> maxWait="5000"
>> removeAbandoned="true"
>> removeAbandonedTimeout="60"
>> logAbandoned="true"
>> />
>> </Context>
>>
>>
>> On 1 March 2011 07:09, abhishek jain <abhishek.netj...@gmail.com> wrote:
>> > hi,
>> > this didnt solved, i created a file c3po.properties with the mentioned
>> > property and it didnt solved.
>> > also i have to wait a day for the error message, is there a way where i
>> can
>> > reduce this time during test?
>> >
>> >
>> > thanks
>> > abhi
>> >
>> > On Sat, Feb 26, 2011 at 12:32 AM, Burton Rhodes <burtonrho...@gmail.com
>> >wrote:
>> >
>> >> I recall having a similiar issue when moving to MySQL from MSSQL. I
>> >> solved it by adding c3po.properties file to the classpath with the
>> >> text below. It kept the connection alive with the database.
>> >>
>> >> # This property corresponds to the query run defined by the
>> >> "hibernate.c3p0.idle_test_period" value
>> >> c3p0.preferredTestQuery = SELECT 1;
>> >>
>> >> On Fri, Feb 25, 2011 at 12:53 AM, Jerson John <jer...@cprvision.com>
>> >> wrote:
>> >> > Hi,
>> >> >
>> >> > Yup I faced this problem before and flush to Hibernate group.They
>> have
>> >> > suggested me some solution based on my mapping xml fle....Why don't
u
>> >> send
>> >> > me that mapping xml and let me compare with mine.....Actually Even
>> though
>> >> it
>> >> > look like Server error,its more to do with hibernate ....Please feel
>> free
>> >> to
>> >> > currect me if my assumption is wrong
>> >> >
>> >> > Many Thanks and Regards,
>> >> >
>> >> > Jerson
>> >> >
>> >> >
>> >> > -----Original Message-----
>> >> > From: abhishek jain [mailto:abhishek.netj...@gmail.com]
>> >> > Sent: Friday, February 25, 2011 2:31 PM
>> >> > To: Struts Users Mailing List
>> >> > Subject: Exception in hibernate3
>> >> >
>> >> > hi,
>> >> > I am not sure if i am ringing the correct list, but i am sure people
>> here
>> >> > must have encountered this problem. I am new to hibernate and when i
>> ran
>> >> the
>> >> > code on server it was fine , strangely next day it keep on giving
this
>> >> error
>> >> > till i restart tomcat.
>> >> >
>> >> > The last packet successfully received from the server was 54,880,316
>> >> > milliseconds ago. The last packet sent successfully to the server
was
>> >> > 54,880,317 milliseconds ago. is longer than the server configured
>> value
>> >> of
>> >> > 'wait_timeout'. You should consider either expiring and/or testing
>> >> > connection validity before use in your application, increasing the
>> server
>> >> > configured values for client timeouts, or using the Connector/J
>> >> connection
>> >> > property 'autoReconnect=true' to avoid this problem.
>> >> >
>> >> > I have searched a lot on net and added the following properties on
>> >> > hibernate.cfg.xml, as people there were suggesting this,but of no
use.
>> >> > <!-- Sessions and transactions -->
>> >> > <!-- Use the C3P0 connection pool provider -->
>> >> > <property name="hibernate.c3p0.min_size">5</property>
>> >> > <property name="hibernate.c3p0.max_size">20</property>
>> >> > <property name="hibernate.c3p0.timeout">300</property>
>> >> > <property name="hibernate.c3p0.max_statements">50</property>
>> >> > <property name="hibernate.c3p0.idle_test_period">3000</property>
>> >> > <property name="current_session_context_class">thread</property>
>> >> >
>> >> >
>> >> >
>> >> > Pl. help me.
>> >> > I have used hibernate3 with myeclipse as the development
environment,
>> and
>> >> am
>> >> > using mysql 5.x and centos (Linux) with Tomcat 5.x
>> >> > --
>> >>
>> >
>>
>>
>>
>> --
>> Maurizio Cucchiara
>>
>>

Reply via email to