Java Mailing List Archive

http://www.junlu.com/

Home » users-digest.tomcat »

users Digest 22 Mar 2013 15:02:50 -0000 Issue 11310

users-digest-help

2013-03-22


Author LoginPost Reply

users Digest 22 Mar 2013 15:02:50 -0000 Issue 11310

Topics (messages 240648 through 240658)

Re: My use of Spring MVC's DeferredResult class causes Tomcat 7.0.35 to crash silently
 240648 by: Daniel Mikusa
 240649 by: Caldarale, Charles R
 240653 by: Julien Martin
 240655 by: Pid
 240657 by: Julien Martin

Re: [a bit, but not totally OT] Tomcat Behavior on Multiple HTTP requests from same browser
 240650 by: Jeffrey Janner
 240651 by: Howard W. Smith, Jr.
 240652 by: Caldarale, Charles R

Where does Tomcat log the logAbandoned information?
 240654 by: Julien Martin
 240656 by: Pid
 240658 by: Julien Martin

Administrivia:

---------------------------------------------------------------------
To post to the list, e-mail: users@(protected)
To unsubscribe, e-mail: users-digest-unsubscribe@(protected)
For additional commands, e-mail: users-digest-help@(protected)

----------------------------------------------------------------------


Attachment: users_240648.eml (zipped)
On Mar 22, 2013, at 4:47 AM, Julien Martin wrote:

> Hi Chuck,
> Thanks for the tip. Can you please confirm it is not a deadlock? All
> threads appear to be waiting. I have run jstack and it did not find any
> deadlock…

At what point did you run this thread dump? What was the state of your application? How many request were sent to the server? How many responded OK, how many failed?

> Regards,
> Julien.
>
> 2013-03-22 08:52:59
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode):
>
> "Attach Listener" daemon prio=10 tid=0x00007f68e8001000 nid=0x41bd waiting
> on condition [0x0000000000000000]
>  java.lang.Thread.State: RUNNABLE
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-10" daemon prio=10 tid=0x00007f68840a2800 nid=0x41b5 in

This thread looks suspicious. Seems like you could be having a problem getting a database connection. Can you include your <Resource /> tags? Also, you might want to connect with a tool like jconsole or jvisualvm and watch the stats for the connection pool. Look at the active, idle counts.

Dan

> Object.wait() [0x00007f690cc57000]
>  java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000007e8fc4650> (a
> org.apache.commons.pool.impl.GenericObjectPool$Latch)
> at java.lang.Object.wait (Object.java:503)
> at
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject (GenericObjectPool.java:1115)
> - locked <0x00000007e8fc4650> (a
> org.apache.commons.pool.impl.GenericObjectPool$Latch)
> at
> org.apache.commons.dbcp.PoolingDataSource.getConnection (PoolingDataSource.java:106)
> at
> org.apache.commons.dbcp.BasicDataSource.getConnection (BasicDataSource.java:1044)
> at
> org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection (InjectedDataSourceConnectionProvider.java:70)
> at
> org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:292)
> at
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297)
> at
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169)
> at
> org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)
> at
> org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)
> at
> org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1395)
> at org.hibernate.ejb.TransactionImpl.begin (TransactionImpl.java:59)
> at
> org.springframework.orm.jpa.DefaultJpaDialect.beginTransaction (DefaultJpaDialect.java:71)
> at
> org.springframework.orm.jpa.JpaTransactionManager.doBegin (JpaTransactionManager.java:378)
> at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction (AbstractPlatformTransactionManager.java:371)
> at
> org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary (TransactionAspectSupport.java:335)
> at
> org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary (TransactionAspectSupport.java:273)
> at
> org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$before$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:63)
> at
> com.bignibou.service.MemberServiceImpl.retrieveCurrentMember(MemberServiceImpl.java:15)
> at
> com.bignibou.controller.MessageController.getMessages(MessageController.java:51)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:601)
> at
> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
> at
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
> at
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
> at
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:925)
> at
> org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:856)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:920)
> at
> org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:816)
> at javax.servlet.http.HttpServlet.service (HttpServlet.java:621)
> at
> org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:801)
> at javax.servlet.http.HttpServlet.service (HttpServlet.java:728)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:305)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate (DelegatingFilterProxy.java:346)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter (DelegatingFilterProxy.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)
> at
> org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal (OpenEntityManagerInViewFilter.java:180)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)
> at
> org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal (HiddenHttpMethodFilter.java:77)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:88)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:222)
> at
> org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:123)
> at
> org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:171)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:99)
> at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:936)
> at
> org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118)
> at
> org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:407)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
> - locked <0x00000007d9c6f578> (a org.apache.tomcat.util.net.SocketWrapper)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - <0x00000007d79a5758> (a java.util.concurrent.ThreadPoolExecutor$Worker)
>
> "http-bio-8080-exec-9" daemon prio=10 tid=0x00007f68c8426000 nid=0x41b4
> waiting on condition [0x00007f690cd5b000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-8" daemon prio=10 tid=0x00007f68b800c000 nid=0x41b3
> waiting on condition [0x00007f690cf5e000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-7" daemon prio=10 tid=0x00007f68b800a000 nid=0x41b2
> waiting on condition [0x00007f690d05f000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-6" daemon prio=10 tid=0x00007f68b8008000 nid=0x41b1
> waiting on condition [0x00007f690d65a000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-5" daemon prio=10 tid=0x00007f68b8006800 nid=0x41b0
> waiting on condition [0x00007f690d75b000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-4" daemon prio=10 tid=0x00007f68b8005000 nid=0x41af
> waiting on condition [0x00007f690d85c000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-3" daemon prio=10 tid=0x00007f68b8004000 nid=0x41ae
> waiting on condition [0x00007f690db5f000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-2" daemon prio=10 tid=0x00007f68b000e000 nid=0x41ab
> waiting on condition [0x00007f690d95d000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "ajp-bio-8009-AsyncTimeout" daemon prio=10 tid=0x00007f69184a5000
> nid=0x41aa waiting on condition [0x00007f690d160000]
>  java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at
> org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run(JIoEndpoint.java:148)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "ajp-bio-8009-Acceptor-0" daemon prio=10 tid=0x00007f69184a3000 nid=0x41a9
> runnable [0x00007f690d261000]
>  java.lang.Thread.State: RUNNABLE
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.AbstractPlainSocketImpl.accept (AbstractPlainSocketImpl.java:398)
> at java.net.ServerSocket.implAccept (ServerSocket.java:522)
> at java.net.ServerSocket.accept (ServerSocket.java:490)
> at
> org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket (DefaultServerSocketFactory.java:60)
> at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:216)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-exec-1" daemon prio=10 tid=0x00007f68b8002000 nid=0x41a8
> waiting on condition [0x00007f690d362000]
>  java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000007f7241b98> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park (LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1068)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-AsyncTimeout" daemon prio=10 tid=0x00007f69184a1800
> nid=0x41a7 waiting on condition [0x00007f690d463000]
>  java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at
> org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run(JIoEndpoint.java:148)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "http-bio-8080-Acceptor-0" daemon prio=10 tid=0x00007f691849f800 nid=0x41a6
> runnable [0x00007f690e2db000]
>  java.lang.Thread.State: RUNNABLE
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.AbstractPlainSocketImpl.accept (AbstractPlainSocketImpl.java:398)
> at java.net.ServerSocket.implAccept (ServerSocket.java:522)
> at java.net.ServerSocket.accept (ServerSocket.java:490)
> at
> org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket (DefaultServerSocketFactory.java:60)
> at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:216)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=10
> tid=0x00007f691875c800 nid=0x41a5 waiting on condition [0x00007f690e3dc000]
>  java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1508)
> at java.lang.Thread.run (Thread.java:722)
>
>  Locked ownable synchronizers:
> - None
>
> "Timer-0" daemon prio=10 tid=0x00007f68c4a93800 nid=0x41a4 in Object.wait()
> [0x00007f690da5e000]
>  java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000007f7abdda0> (a java.util.TaskQueue)
> at java.util.TimerThread.mainLoop(Timer.java:552)
> - locked <0x00000007f7abdda0> (a java.util.TaskQueue)
> at java.util.TimerThread.run(Timer.java:505)
>
>  Locked ownable synchronizers:
> - None
>
> "GC Daemon" daemon prio=10 tid=0x00007f691866b000 nid=0x419e in
> Object.wait() [0x00007f690eb3c000]
>  java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000007836c8508> (a sun.misc.GC$LatencyLock)
> at sun.misc.GC$Daemon.run(GC.java:117)
> - locked <0x00000007836c8508> (a sun.misc.GC$LatencyLock)
>
>  Locked ownable synchronizers:
> - None
>
> "Service Thread" daemon prio=10 tid=0x00007f69180f0800 nid=0x419b runnable
> [0x0000000000000000]
>  java.lang.Thread.State: RUNNABLE
>
>  Locked ownable synchronizers:
> - None
>
> "C2 CompilerThread1" daemon prio=10 tid=0x00007f69180ee800 nid=0x419a
> waiting on condition [0x0000000000000000]
>  java.lang.Thread.State: RUNNABLE
>
>  Locked ownable synchronizers:
> - None
>
> "C2 CompilerThread0" daemon prio=10 tid=0x00007f69180eb800 nid=0x4199
> waiting on condition [0x0000000000000000]
>  java.lang.Thread.State: RUNNABLE
>
>  Locked ownable synchronizers:
> - None
>
> "Signal Dispatcher" daemon prio=10 tid=0x00007f69180e9000 nid=0x4198
> runnable [0x0000000000000000]
>  java.lang.Thread.State: RUNNABLE
>
>  Locked ownable synchronizers:
> - None
>
> "Finalizer" daemon prio=10 tid=0x00007f691809c000 nid=0x4197 in
> Object.wait() [0x00007f690fefd000]
>  java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x0000000785b731f8> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:135)
> - locked <0x0000000785b731f8> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:151)
> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
>
>  Locked ownable synchronizers:
> - None
>
> "Reference Handler" daemon prio=10 tid=0x00007f691809a000 nid=0x4196 in
> Object.wait() [0x00007f690fffe000]
>  java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x0000000785b72da8> (a java.lang.ref.Reference$Lock)
> at java.lang.Object.wait (Object.java:503)
> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
> - locked <0x0000000785b72da8> (a java.lang.ref.Reference$Lock)
>
>  Locked ownable synchronizers:
> - None
>
> "main" prio=10 tid=0x00007f6918009000 nid=0x4190 runnable
> [0x00007f6920b89000]
>  java.lang.Thread.State: RUNNABLE
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.AbstractPlainSocketImpl.accept (AbstractPlainSocketImpl.java:398)
> at java.net.ServerSocket.implAccept (ServerSocket.java:522)
> at java.net.ServerSocket.accept (ServerSocket.java:490)
> at org.apache.catalina.core.StandardServer.await (StandardServer.java:452)
> at org.apache.catalina.startup.Catalina.await (Catalina.java:766)
> at org.apache.catalina.startup.Catalina.start (Catalina.java:712)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:601)
> at org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:322)
> at org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:456)
>
>  Locked ownable synchronizers:
> - None
>
> "VM Thread" prio=10 tid=0x00007f6918092800 nid=0x4195 runnable
>
> "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f6918017000 nid=0x4191
> runnable
>
> "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f6918019000 nid=0x4192
> runnable
>
> "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f691801a800 nid=0x4193
> runnable
>
> "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f691801c800 nid=0x4194
> runnable
>
> "VM Periodic Task Thread" prio=10 tid=0x00007f69180fb000 nid=0x419c waiting
> on condition
>
> JNI global references: 439
>
>
> 2013/3/21 Caldarale, Charles R <Chuck.Caldarale@(protected)>
>
>>> From: Julien Martin [mailto:balteo@(protected)]
>>> Subject: Re: My use of Spring MVC's DeferredResult class causes Tomcat
>> 7.0.35 to crash silently
>>
>>> The 9th method invocation causes Tomcat to hang. When you issue
>>> requests after that, they also "hang".
>>
>> That's quite different from a crash. Can you take a thread dump and a
>> heap dump? Using VisualVM or some of the command-line tools, you can
>> monitor the JVM and see if anything odd is going on from that perspective.
>>
>> http://wiki.apache.org/tomcat/FAQ/Troubleshooting_and_Diagnostics
>>
>> You may have deadlocked threads, you may be out of heap space, you may
>> have locked up waiting for a database connection, etc. The diagnostic
>> tools should help you figure it out.
>>
>> - Chuck
>>
>>
>> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
>> MATERIAL and is thus for use only by the intended recipient. If you
>> received this in error, please contact the sender and delete the e-mail and
>> its attachments from all computers.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@(protected)
>> For additional commands, e-mail: users-help@(protected)
>>
>>



Attachment: users_240649.eml (zipped)
> From: Julien Martin [mailto:balteo@(protected)]
> Subject: Re: My use of Spring MVC's DeferredResult class causes Tomcat 7.0.35 to crash silently

> "http-bio-8080-exec-10" daemon prio=10 tid=0x00007f68840a2800 nid=0x41b5 in
> Object.wait() [0x00007f690cc57000]
>   java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000007e8fc4650> (a
> org.apache.commons.pool.impl.GenericObjectPool$Latch)
> at java.lang.Object.wait (Object.java:503)
> at org.apache.commons.pool.impl.GenericObjectPool.borrowObject (GenericObjectPool.java:1115)
> - locked <0x00000007e8fc4650> (a org.apache.commons.pool.impl.GenericObjectPool$Latch)
> at org.apache.commons.dbcp.PoolingDataSource.getConnection (PoolingDataSource.java:106)

Looks like you're leaking database connections, likely by not returning them to the pool. Read Chris' article on how to do it right:

http://blog.christopherschultz.net/index.php/2009/03/16/properly-handling-pooled-jdbc-connections/

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.



Attachment: users_240653.eml (zipped)
@Chuck: thanks for the link. I have read it. Umm... the thing is I don't
close my connection manually. I use Spring. Here is my configuration:

<bean class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" id="dataSource">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
<property name="testOnBorrow" value="true" />
<property name="testOnReturn" value="true" />
<property name="testWhileIdle" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="1800000" />
<property name="numTestsPerEvictionRun" value="3" />
<property name="minEvictableIdleTimeMillis" value="1800000" />
<property name="validationQuery" value="SELECT 1" />
<property name="maxActive" value="2"/>
<property name="logAbandoned" value="true"/>
<property name="removeAbandoned" value="true"/>
</bean>

Any idea what I am getting wrong?

@Daniel, I have configured jmx with Spring and I get a numIdle of 0 and
numActive of 2 after the problem occurs. This confirms what you and Chuck
say: my app leaks db connections.

However, I am still not sure why my app leaks the connections. I use the
default Spring configuration...

Sorry: it is slightly offtopic now. I guess this is no longer a Tomcat
question so I should post it elsewhere.

Julien.


2013/3/22 Caldarale, Charles R <Chuck.Caldarale@(protected)>

> > From: Julien Martin [mailto:balteo@(protected)]
> > Subject: Re: My use of Spring MVC's DeferredResult class causes Tomcat
> 7.0.35 to crash silently
>
> > "http-bio-8080-exec-10" daemon prio=10 tid=0x00007f68840a2800 nid=0x41b5
> in
> > Object.wait() [0x00007f690cc57000]
> >   java.lang.Thread.State: WAITING (on object monitor)
> > at java.lang.Object.wait(Native Method)
> > - waiting on <0x00000007e8fc4650> (a
> > org.apache.commons.pool.impl.GenericObjectPool$Latch)
> > at java.lang.Object.wait (Object.java:503)
> > at
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject (GenericObjectPool.java:1115)
> > - locked <0x00000007e8fc4650> (a
> org.apache.commons.pool.impl.GenericObjectPool$Latch)
> > at
> org.apache.commons.dbcp.PoolingDataSource.getConnection (PoolingDataSource.java:106)
>
> Looks like you're leaking database connections, likely by not returning
> them to the pool. Read Chris' article on how to do it right:
>
>
> http://blog.christopherschultz.net/index.php/2009/03/16/properly-handling-pooled-jdbc-connections/
>
> - Chuck
>
>
> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
> MATERIAL and is thus for use only by the intended recipient. If you
> received this in error, please contact the sender and delete the e-mail and
> its attachments from all computers.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@(protected)
> For additional commands, e-mail: users-help@(protected)
>
>

Attachment: users_240655.eml (zipped)
On 22/03/2013 14:42, Julien Martin wrote:
> @Chuck: thanks for the link. I have read it. Umm... the thing is I don't
> close my connection manually. I use Spring. Here is my configuration:
>
> <bean class="org.apache.commons.dbcp.BasicDataSource"
> destroy-method="close" id="dataSource">
> <property name="driverClassName" value="${database.driverClassName}" />
> <property name="url" value="${database.url}" />
> <property name="username" value="${database.username}" />
> <property name="password" value="${database.password}" />
> <property name="testOnBorrow" value="true" />
> <property name="testOnReturn" value="true" />
> <property name="testWhileIdle" value="true" />
> <property name="timeBetweenEvictionRunsMillis" value="1800000" />
> <property name="numTestsPerEvictionRun" value="3" />
> <property name="minEvictableIdleTimeMillis" value="1800000" />
> <property name="validationQuery" value="SELECT 1" />
> <property name="maxActive" value="2"/>
> <property name="logAbandoned" value="true"/>
> <property name="removeAbandoned" value="true"/>
> </bean>

What happens if you set it to 1?


p


> Any idea what I am getting wrong?
>
> @Daniel, I have configured jmx with Spring and I get a numIdle of 0 and
> numActive of 2 after the problem occurs. This confirms what you and Chuck
> say: my app leaks db connections.
>
> However, I am still not sure why my app leaks the connections. I use the
> default Spring configuration...
>
> Sorry: it is slightly offtopic now. I guess this is no longer a Tomcat
> question so I should post it elsewhere.
>
> Julien.
>
>
> 2013/3/22 Caldarale, Charles R <Chuck.Caldarale@(protected)>
>
>>> From: Julien Martin [mailto:balteo@(protected)]
>>> Subject: Re: My use of Spring MVC's DeferredResult class causes Tomcat
>> 7.0.35 to crash silently
>>
>>> "http-bio-8080-exec-10" daemon prio=10 tid=0x00007f68840a2800 nid=0x41b5
>> in
>>> Object.wait() [0x00007f690cc57000]
>>>   java.lang.Thread.State: WAITING (on object monitor)
>>> at java.lang.Object.wait(Native Method)
>>> - waiting on <0x00000007e8fc4650> (a
>>> org.apache.commons.pool.impl.GenericObjectPool$Latch)
>>> at java.lang.Object.wait (Object.java:503)
>>> at
>> org.apache.commons.pool.impl.GenericObjectPool.borrowObject (GenericObjectPool.java:1115)
>>> - locked <0x00000007e8fc4650> (a
>> org.apache.commons.pool.impl.GenericObjectPool$Latch)
>>> at
>> org.apache.commons.dbcp.PoolingDataSource.getConnection (PoolingDataSource.java:106)
>>
>> Looks like you're leaking database connections, likely by not returning
>> them to the pool. Read Chris' article on how to do it right:
>>
>>
>> http://blog.christopherschultz.net/index.php/2009/03/16/properly-handling-pooled-jdbc-connections/
>>
>> - Chuck
>>
>>
>> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
>> MATERIAL and is thus for use only by the intended recipient. If you
>> received this in error, please contact the sender and delete the e-mail and
>> its attachments from all computers.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@(protected)
>> For additional commands, e-mail: users-help@(protected)
>>
>>
>


--

[key:62590808]


Attachment: users_240657.eml (zipped)
Hi,
You mean if I set maxActive to 1?
J.

2013/3/22 Pid <pid@(protected)>

> On 22/03/2013 14:42, Julien Martin wrote:
> > @Chuck: thanks for the link. I have read it. Umm... the thing is I don't
> > close my connection manually. I use Spring. Here is my configuration:
> >
> > <bean class="org.apache.commons.dbcp.BasicDataSource"
> > destroy-method="close" id="dataSource">
> > <property name="driverClassName" value="${database.driverClassName}" />
> > <property name="url" value="${database.url}" />
> > <property name="username" value="${database.username}" />
> > <property name="password" value="${database.password}" />
> > <property name="testOnBorrow" value="true" />
> > <property name="testOnReturn" value="true" />
> > <property name="testWhileIdle" value="true" />
> > <property name="timeBetweenEvictionRunsMillis" value="1800000" />
> > <property name="numTestsPerEvictionRun" value="3" />
> > <property name="minEvictableIdleTimeMillis" value="1800000" />
> > <property name="validationQuery" value="SELECT 1" />
> > <property name="maxActive" value="2"/>
> > <property name="logAbandoned" value="true"/>
> > <property name="removeAbandoned" value="true"/>
> > </bean>
>
> What happens if you set it to 1?
>
>
> p
>
>
> > Any idea what I am getting wrong?
> >
> > @Daniel, I have configured jmx with Spring and I get a numIdle of 0 and
> > numActive of 2 after the problem occurs. This confirms what you and Chuck
> > say: my app leaks db connections.
> >
> > However, I am still not sure why my app leaks the connections. I use the
> > default Spring configuration...
> >
> > Sorry: it is slightly offtopic now. I guess this is no longer a Tomcat
> > question so I should post it elsewhere.
> >
> > Julien.
> >
> >
> > 2013/3/22 Caldarale, Charles R <Chuck.Caldarale@(protected)>
> >
> >>> From: Julien Martin [mailto:balteo@(protected)]
> >>> Subject: Re: My use of Spring MVC's DeferredResult class causes Tomcat
> >> 7.0.35 to crash silently
> >>
> >>> "http-bio-8080-exec-10" daemon prio=10 tid=0x00007f68840a2800
> nid=0x41b5
> >> in
> >>> Object.wait() [0x00007f690cc57000]
> >>>   java.lang.Thread.State: WAITING (on object monitor)
> >>> at java.lang.Object.wait(Native Method)
> >>> - waiting on <0x00000007e8fc4650> (a
> >>> org.apache.commons.pool.impl.GenericObjectPool$Latch)
> >>> at java.lang.Object.wait (Object.java:503)
> >>> at
> >>
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject (GenericObjectPool.java:1115)
> >>> - locked <0x00000007e8fc4650> (a
> >> org.apache.commons.pool.impl.GenericObjectPool$Latch)
> >>> at
> >>
> org.apache.commons.dbcp.PoolingDataSource.getConnection (PoolingDataSource.java:106)
> >>
> >> Looks like you're leaking database connections, likely by not returning
> >> them to the pool. Read Chris' article on how to do it right:
> >>
> >>
> >>
> http://blog.christopherschultz.net/index.php/2009/03/16/properly-handling-pooled-jdbc-connections/
> >>
> >> - Chuck
> >>
> >>
> >> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
> >> MATERIAL and is thus for use only by the intended recipient. If you
> >> received this in error, please contact the sender and delete the e-mail
> and
> >> its attachments from all computers.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@(protected)
> >> For additional commands, e-mail: users-help@(protected)
> >>
> >>
> >
>
>
> --
>
> [key:62590808]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@(protected)
> For additional commands, e-mail: users-help@(protected)
>
>

Attachment: users_240650.eml (zipped)
> -----Original Message-----
> From: André Warnier [mailto:aw@(protected)]
> Sent: Thursday, March 21, 2013 8:51 AM
> To: Tomcat Users List
> Subject: Re: [a bit, but not totally OT] Tomcat Behavior on Multiple
> HTTP requests from same browser
>
> Christopher Schultz wrote:
> > HTTP connections for long periods of time, but that's really abuse of
> > the protocol IMO. You can send bowling balls via carrier pigeon, but
> > there are better ways to send bowling balls.
>
> You would need a fairly large, and well-disciplined team of pigeons to
> do that though. I don't think that this was a good metaphor, You should
> have chosen a bigger bird and/or a smaller load. Eagles and tennis
> balls maybe ?
>

Or swallows and coconuts.

Jeff
(sorry, couldn't resist.)

Attachment: users_240651.eml (zipped)
On Fri, Mar 22, 2013 at 10:04 AM, Jeffrey Janner <
Jeffrey.Janner@(protected):

> > -----Original Message-----
> > From: André Warnier [mailto:aw@(protected)]
> > Sent: Thursday, March 21, 2013 8:51 AM
> > To: Tomcat Users List
> > Subject: Re: [a bit, but not totally OT] Tomcat Behavior on Multiple
> > HTTP requests from same browser
> >
> > Christopher Schultz wrote:
> > > HTTP connections for long periods of time, but that's really abuse of
> > > the protocol IMO. You can send bowling balls via carrier pigeon, but
> > > there are better ways to send bowling balls.
> >
> > You would need a fairly large, and well-disciplined team of pigeons to
> > do that though. I don't think that this was a good metaphor, You should
> > have chosen a bigger bird and/or a smaller load. Eagles and tennis
> > balls maybe ?
> >
>
> Or swallows and coconuts.
>
> Jeff
> (sorry, couldn't resist.)
>
>
Wow, you all are funny! LOL

Attachment: users_240652.eml (zipped)
> From: Jeffrey Janner [mailto:Jeffrey.Janner@(protected)]
> Subject: RE: [a bit, but not totally OT] Tomcat Behavior on Multiple HTTP requests from same browser

> > You would need a fairly large, and well-disciplined team of pigeons to
> > do that though. I don't think that this was a good metaphor, You should
> > have chosen a bigger bird and/or a smaller load. Eagles and tennis
> > balls maybe ?

> Or swallows and coconuts.

Someone had to bring that up. African or European?

I think we can remove the "not" from the subject line now...

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.



Attachment: users_240654.eml (zipped)
Hello,

I have enabled the *logAbandoned* property as follows (in Spring):

<property name="maxActive" value="2"/>
<property name="logAbandoned" value="true"/>
<property name="removeAbandoned" value="true"/>

I know for certain it is taken into account by Tomcat but *I just can't
figure out where the information is logged*.

It seems to be a recurring question on the web but I was not able to find
the answer to it.

Can anyone please informed advice?
Regards,

Julien.

Attachment: users_240656.eml (zipped)
On 22/03/2013 14:45, Julien Martin wrote:
> Hello,
>
> I have enabled the *logAbandoned* property as follows (in Spring):
>
> <property name="maxActive" value="2"/>
> <property name="logAbandoned" value="true"/>
> <property name="removeAbandoned" value="true"/>
>
> I know for certain it is taken into account by Tomcat but *I just can't
> figure out where the information is logged*.

It will be logged to standard out, catalina.out or catalina.{date}.log

In your case, the timeBetweenEvictionRunsMillis check will happen every
1800000 millis, which is 1800 seconds, which is every 30 minutes for
connections that have been idle the same period, which may mean that
they don't qualify for eviction for over 30 mins, which in turn would
mean the next check - 30m later.

Maybe you should reduce that number during testing.


p


> It seems to be a recurring question on the web but I was not able to find
> the answer to it.
>
> Can anyone please informed advice?
> Regards,
>
> Julien.
>


--

[key:62590808]


Attachment: users_240658.eml (zipped)
Hi Pid,
Is there any other config I need to add (for instance to log4j.properties)
in order for the logAbandoned logging to occur?
I see nothing in stdout nor in the tomcat logs...
Regards,
J.

2013/3/22 Pid <pid@(protected)>

> On 22/03/2013 14:45, Julien Martin wrote:
> > Hello,
> >
> > I have enabled the *logAbandoned* property as follows (in Spring):
> >
> > <property name="maxActive" value="2"/>
> > <property name="logAbandoned" value="true"/>
> > <property name="removeAbandoned" value="true"/>
> >
> > I know for certain it is taken into account by Tomcat but *I just can't
> > figure out where the information is logged*.
>
> It will be logged to standard out, catalina.out or catalina.{date}.log
>
> In your case, the timeBetweenEvictionRunsMillis check will happen every
> 1800000 millis, which is 1800 seconds, which is every 30 minutes for
> connections that have been idle the same period, which may mean that
> they don't qualify for eviction for over 30 mins, which in turn would
> mean the next check - 30m later.
>
> Maybe you should reduce that number during testing.
>
>
> p
>
>
> > It seems to be a recurring question on the web but I was not able to find
> > the answer to it.
> >
> > Can anyone please informed advice?
> > Regards,
> >
> > Julien.
> >
>
>
> --
>
> [key:62590808]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@(protected)
> For additional commands, e-mail: users-help@(protected)
>
>
©2008 junlu.com - Jax Systems, LLC, U.S.A.