[
https://issues.apache.org/jira/browse/AXIS2-5524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hiranya Jayathilaka updated AXIS2-5524:
---------------------------------------
Attachment: AXIS2-5524.patch
Attaching patch.
The fix I've implemented is to get rid of the state variables sharedSession and
sharedProducer in the JMSConnectionFactory class. This way, the transport will
always create a new session and a producer for each outgoing message. The
sharedConnection has been retained since JMS spec allows sharing the
connections among threads.
> JMSSender should not use a shared session or producer
> -----------------------------------------------------
>
> Key: AXIS2-5524
> URL: https://issues.apache.org/jira/browse/AXIS2-5524
> Project: Axis2
> Issue Type: Bug
> Components: JMS transport
> Reporter: Andreas Veithen
> Priority: Critical
> Fix For: 1.7.0
>
> Attachments: AXIS2-5524.patch
>
>
> Depending on the cache level, the JMSConnectionFactory stores a "shared"
> session and/or message producer. These objects are used by the JMSSender (via
> JMSMessageSender). Since sessions and producers are not thread safe, this
> will lead to concurrency issues. Note that initially the JMSListener used a
> similar pattern. This has been corrected [1], but the issue has never been
> addressed for the JMSSender. The concept of "shared" session/producer should
> be eliminated altogether from JMSConnectionFactory.
> [1] http://markmail.org/message/umhenrurlrekk5jh
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]