check your thread stack. Note a wrong config can make connections not returning to pool IIRC Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau
2014-02-13 17:39 GMT+01:00 José Luis Cetina <maxtorz...@gmail.com>: > Ok. > > At this moment my webapp in production is loggin me: > > SEVERE: EjbTransactionUtil.handleSystemException: [ajp-bio-8009-exec-1458] > Timeout: Pool empty. Unable to fetch a connection in 90 seconds, none > available[size:250; busy:250; idle:0; lastwait:90000]. > > Pool empty, it means my 250 of 250 are using it? > > Any advice? > > > > > > 2014-02-13 10:35 GMT-06:00 Romain Manni-Bucau <rmannibu...@gmail.com>: > >> No it is fine. >> Romain Manni-Bucau >> Twitter: @rmannibucau >> Blog: http://rmannibucau.wordpress.com/ >> LinkedIn: http://fr.linkedin.com/in/rmannibucau >> Github: https://github.com/rmannibucau >> >> >> >> 2014-02-13 17:18 GMT+01:00 José Luis Cetina <maxtorz...@gmail.com>: >> > Thanks i already readed. Maybe what is happen is that my webapps are not >> > returning to the pool the database connection. >> > >> > I have a question: >> > >> > If i have a stateles bean using an entitymanager and doing any kind of >> > operation in the database, when my method returns the connections is the >> > connections is closed and returned to the pool?? do i missing something? >> > >> > >> > //All my ejbs are like this >> > @Stateless >> > @TransactionManagement(TransactionManagementType.CONTAINER) >> > public class ConektaComprasOnlineGeneradasFacade{ >> > >> > @PersistenceContext(unitName = "anyName") >> > private EntityManager em; >> > >> > @TransactionAttribute(TransactionAttributeType.REQUIRED) >> > public void doSomeStuff(){ >> > MyObject x = new MyObject(); >> > em.persist(x); >> > //when this method is finished and the commit its done the >> database >> > connection is returned to the pool? do i have to close it? >> > } >> > >> > } >> > >> > >> > Thanks >> > >> > >> > >> > 2014-02-13 9:51 GMT-06:00 Howard W. Smith, Jr. <smithh032...@gmail.com>: >> > >> >> also, this one, and you can reach out to tomcat user list, too... >> >> >> >> >> >> >> http://blog.christopherschultz.net/index.php/2009/03/16/properly-handling-pooled-jdbc-connections/ >> >> >> >> >> >> >> >> On Thu, Feb 13, 2014 at 10:34 AM, José Luis Cetina < >> maxtorz...@gmail.com >> >> >wrote: >> >> >> >> > Then if tomee use tomcat-pool is this where the info really is? >> >> > >> >> > https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html not here >> >> > http://commons.apache.org/proper/commons-dbcp/configuration.html >> >> > >> >> > >> >> > 2014-02-13 9:32 GMT-06:00 José Luis Cetina <maxtorz...@gmail.com>: >> >> > >> >> > > What about this info in tomee web page >> >> > > >> >> > > "Internally, from TomEE 1.5.0, JDBC pools are managed via >> Tomcat-pool. >> >> > You >> >> > > can still switch back to Apache Commons DBCP by adding the following >> >> > > property: DataSourceCreator dbcp. To get the full list of available >> >> > > configuration properties, have a look to Apache Commons DBCP >> >> > configuration<http://commons.apache.org/dbcp/configuration.html> >> >> > > ." >> >> > > >> >> > > What is the difference between tomcat pool and dbcp, they share the >> >> same >> >> > > properties? >> >> > > >> >> > > >> >> > > 2014-02-13 9:23 GMT-06:00 Romain Manni-Bucau <rmannibu...@gmail.com >> >: >> >> > > >> >> > > Hi, >> >> > >> >> >> > >> some read >> >> > >> http://commons.apache.org/proper/commons-dbcp/configuration.html;) >> >> > >> Romain Manni-Bucau >> >> > >> Twitter: @rmannibucau >> >> > >> Blog: http://rmannibucau.wordpress.com/ >> >> > >> LinkedIn: http://fr.linkedin.com/in/rmannibucau >> >> > >> Github: https://github.com/rmannibucau >> >> > >> >> >> > >> >> >> > >> >> >> > >> 2014-02-13 16:21 GMT+01:00 José Luis Cetina <maxtorz...@gmail.com >> >: >> >> > >> > Hi, im having about 180 users at the same time connected to my >> >> webapp, >> >> > >> > yesterday i got an mysql exception saying "Ton many connections" >> >> then >> >> > i >> >> > >> > read in blogs and update the property max_connections in my.cnf >> to >> >> 500 >> >> > >> > connections (i have a stand alone server for database only that >> has >> >> > >> 16gb of >> >> > >> > ram just for the OS and the DB) then in that post recommend to >> >> adjust >> >> > >> that >> >> > >> > value (max_connections) accord to my pool connection. I use a >> >> > datasource >> >> > >> > resource configured in tomee.xml and i have this >> >> > >> > >> >> > >> > <Resource id="any" type="DataSource"> >> >> > >> > JdbcDriver com.mysql.jdbc.Driver >> >> > >> > JdbcUrl ... >> >> > >> > UserName xxx >> >> > >> > Password xxx >> >> > >> > jtaManaged true >> >> > >> > initialSize=30 >> >> > >> > MaxActive=500 (my old value was 250) >> >> > >> > MaxIdle=50 >> >> > >> > MaxWait=90000 >> >> > >> > MaxWaitTime=90000 >> >> > >> > validationQuery=SELECT 1 >> >> > >> > testOnBorrow=true >> >> > >> > </Resource> >> >> > >> > >> >> > >> > Then i have this questions: >> >> > >> > >> >> > >> > 1.What advice can you give me for handle around 180 users that >> use >> >> my >> >> > >> app >> >> > >> > an hit the database with each action. >> >> > >> > I use JSF (@NamedBeans) + EJB (All my EJBS are statless) + 1 >> >> > SessionBean >> >> > >> > (@Named) for each users. >> >> > >> > >> >> > >> > 2. Which is the difference between MaxIdle and MaxActive? >> >> > >> > >> >> > >> > 3. Which is the default timeout for close inactive connections >> and >> >> > what >> >> > >> is >> >> > >> > the name of the property? >> >> > >> > >> >> > >> > >> >> > >> > >> >> > >> > I will be happy with any kind of advice. >> >> > >> > >> >> > >> > I use 2 servers with this configuration and tomee and both of >> them >> >> > read >> >> > >> to >> >> > >> > other server where the database is (2 webapp server + 1 db >> server). >> >> > >> > >> >> > >> > >> >> > >> > >> >> > >> > >> >> > >> > >> ------------------------------------------------------------------- >> >> > >> > *José Luis Cetina* >> >> > >> > >> ------------------------------------------------------------------- >> >> > >> >> >> > > >> >> > > >> >> > > >> >> > > -- >> >> > > ------------------------------------------------------------------- >> >> > > *José Luis Cetina* >> >> > > ------------------------------------------------------------------- >> >> > > >> >> > >> >> > >> >> > >> >> > -- >> >> > ------------------------------------------------------------------- >> >> > *José Luis Cetina* >> >> > ------------------------------------------------------------------- >> >> > >> >> >> > >> > >> > >> > -- >> > ------------------------------------------------------------------- >> > *José Luis Cetina* >> > ------------------------------------------------------------------- >> > > > > -- > ------------------------------------------------------------------- > *José Luis Cetina* > -------------------------------------------------------------------