[
https://issues.apache.org/jira/browse/CXF-7145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Freeman Fang reassigned CXF-7145:
---------------------------------
Assignee: Freeman Fang
> 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
>
> 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 is critical resource which 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)