activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Pechorin (JIRA)" <>
Subject [jira] Created: (AMQCPP-288) ResourceLifecycleManager needs to be thread-safe
Date Wed, 24 Feb 2010 08:26:41 GMT
ResourceLifecycleManager needs to be thread-safe

                 Key: AMQCPP-288
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: CMS Impl
    Affects Versions: 3.1, 3.0.1
            Reporter: Ivan Pechorin
            Assignee: Timothy Bish

We use ActiveMQ C++ 3.x client in a multi-threaded application. In particular, we use activemq::cmsutil::SessionPool
and activemq::cmsutil::PooledSession. 
Methods createCachedProducer and createCachedConsumer of class PooledSession do not synchronize
access to their shared ResourceLifecycleManager, and ResourceLifecycleManager itself is not
thread-safe. Therefore, it is not safe to use pooled session from multiple threads, even if
we guarantee that each PooledSession is used from one thread at any given time.

To resolve this issue, ResourceLifecycleManager needs to be thread-safe, i.e. we need to add
synchronization to all of its add* methods. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message