[ 
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)

Reply via email to