Hello:
Thanks a lot!
I am worrying about the overhead,because I don't know what iBatis3 will do
when I enable poolPingQuery.
I will try your idea soon.Thanks again!


陈抒
Best regards
http://blog.csdn.net/sheismylife


2010/5/12 François Schiettecatte <fschietteca...@gmail.com>

> 陈抒
>
> Not sure which RDBMS you are using. Ideally you want to set the idle
> connection timeout in your pool to a value smaller than the idle connection
> timeout on the server end, the errors you were seeing suggests that the
> server has dropped the connection while the pool thinks it is still ok. From
> my limited experience 'autoReconnect=true' is not recommended, here is an
> excerpt from the MySQL documentation:
>
> ----
> Should the driver try to re-establish stale and/or dead connections? If
> enabled the driver will throw an exception for a queries issued on a stale
> or dead connection, which belong to the current transaction, but will
> attempt reconnect before the next query issued on the connection in a new
> transaction. The use of this feature is not recommended, because it has side
> effects related to session state and data consistency when applications
> don't handle SQLExceptions properly, and is only designed to be used when
> you are unable to configure your application to handle SQLExceptions
> resulting from dead and stale connections properly. Alternatively,
> investigate setting the MySQL server variable "wait_timeout" to some high
> value rather than the default of 8 hours.
> ----
>
> What you are doing will work but there is overhead associated with it, and
> you might want use a query like 'select 1' rather than hitting the jobstatus
> table. And you might want to read up on 'poolPingConnectionsNotUsedFor' on
> page 20 of the documentation, the default value is 0 which means the
> connection is pinged before every use.
>
> I would recommend you check into these parameters to see if you can do away
> with the ping query:
>
>                <property name="poolMaximumActiveConnections" value="10" />
>                <property name="poolMaximumIdleConnections" value="5" />
>                <property name="poolMaximumCheckoutTime" value="20000" />
>                <property name="poolTimeToWait" value="20000" />
>
> Cheers
>
> François
>
> On May 12, 2010, at 6:57 AM, 陈抒 wrote:
>
> > I don't know.
> > But I took one hour to test my application again,it works fine if the
> 'time out' problem doesn't occurs.
> > Now I add two properties,let's wait and see if it can solve this or not.
> > <property name="poolPingQuery" value="select * from jobstatus"/>
> > <property name="poolPingEnabled" value="true"/>
> >
> > 陈抒
> > Best regards
> > http://blog.csdn.net/sheismylife
> >
> >
> > On Wed, May 12, 2010 at 6:46 PM, Martin Ellis <mar...@ellis.name> wrote:
> > On 12 May 2010 02:31, 陈抒 <csfreeb...@gmail.com> wrote:
> > > Caused by: java.lang.NullPointerException
> > >         at freebird.business.Email.getReceiverList(Email.java:105)
> >
> > What caused this NullPointerException?
> > Is it really related to the connection option?
> >
> > Martin
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org
> > For additional commands, e-mail: user-java-h...@ibatis.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org
> For additional commands, e-mail: user-java-h...@ibatis.apache.org
>
>

Reply via email to