Bonjour ,
On a un WebService qui dispose d'un pool de connexion (Thread pool) , qui servira à se connecter à une autre application (CORBA connection).
J'ai généré le thread dump Tomcat pour vérifier l'accès à ce pool. Celui-ci devra être synchronisé (synchronized).
J'ai analysé le thread dump généré avec l'outil TDA (Thread dump analyser), l'outil indique que 44 thread ont réussi à acquérir le monitor (verrou) et donc normalement ont pu accéder au bloc synchronisé.
Ci-dessous une partie de thread dump généré, plusieurs Thread affichent ce message
Est-ce que ça signifie vraiment que le thread a réussi à accéder au bloc synchronisé ?- locked <9ffffffea5688f30> (a com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolImpl)
Comment peut-on savoir à partir du thread dump qu'un thread a quitter le bloc synchronisé ?
Est-ce que le thread dump suivant confirme que deux threads ont réusssi à accéder au bloc synchronisé en même temps ?
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 "http-6040-Processor248" daemon prio=10 tid=60000000042b0080 nid=312 lwp_id=9508038 in Object.wait() [9fffffff69aff000..9fffffff69b00bc0] at java.lang.Object.wait(Native Method) at com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolImpl.getConnection(Unknown Source) - locked <9ffffffea5688f30> (a com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolImpl) at com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolManager.getConnection(Unknown Source) at com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolManager.getConnection(Unknown Source) at com.ccb.cfw.cda.servicelayer.connectionpool.DefaultConnectionProvider.getConnection(Unknown Source) at com.ws.soiprovider.SOIFacade.retrieveSOIAccessData(Unknown Source) at com.ws.soiprovider.SOIFacade.execute(Unknown Source) at com.ws.soiprovider.SOIFacade.execute(Unknown Source) at com.mbn.ws.dao.cms.SOIFacade.execute(SOIFacade.java:105) at com.ws.services.v2.ContractsSearchServiceSoapBindingImpl.execute(Unknown Source) at com.mbn.ws.dao.contractdomain.ContractDomainDaoSoiImpl.contractSearch(ContractDomainDaoSoiImpl.java:565) "http-6040-Processor197" daemon prio=10 tid=60000000039c1750 nid=255 lwp_id=9468783 in Object.wait() [9fffffff6fcff000..9fffffff6fd00b40] at java.lang.Object.wait(Native Method) at com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolImpl.getConnection(Unknown Source) - locked <9ffffffea5688f30> (a com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolImpl) at com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolManager.getConnection(Unknown Source) at com.ccb.cfw.cda.servicelayer.connectionpool.ConnectionPoolManager.getConnection(Unknown Source) at com.ccb.cfw.cda.servicelayer.connectionpool.DefaultConnectionProvider.getConnection(Unknown Source) at com.ws.soiprovider.SOIFacade.retrieveSOIAccessData(Unknown Source) at com.ws.soiprovider.SOIFacade.execute(Unknown Source) at com.ws.soiprovider.SOIFacade.execute(Unknown Source) at com.mbn.ws.dao.cms.SOIFacade.execute(SOIFacade.java:105) at com.ws.services.v2.ContractsSearchServiceSoapBindingImpl.execute(Unknown Source)
Partager