[ https://issues.apache.org/jira/browse/CXF-7145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang resolved CXF-7145. ------------------------------- Resolution: Fixed Fix Version/s: 3.1.9 3.2.0 > synchronized store and getMessages of JmsPullPoint would cause deadlock > ----------------------------------------------------------------------- > > Key: CXF-7145 > URL: https://issues.apache.org/jira/browse/CXF-7145 > Project: CXF > Issue Type: Bug > Components: Services > Reporter: Freeman Fang > Assignee: Freeman Fang > Fix For: 3.2.0, 3.1.9 > > > The JmsPullPoint would be accessed by both the producer client and consumer > client, currently the whole store(used by producer) and getMessages(used by > consumer) method was synchronized. For some flow control scenario[1], the > {code} > producer.send(message); > {code} > in store method would be blocked if the jms queue exceed some certain size, > in this case the getMessages method never get chance to be invoked to > decrease the queue size which cause deadlock. > Actually in the methods only the session init and reset should be > synchronized, so we should synchronize the session only to avoid this deadlock > [1]http://activemq.apache.org/producer-flow-control.html -- This message was sent by Atlassian JIRA (v6.3.4#6332)