[ 
https://issues.apache.org/jira/browse/AMQCPP-405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13466083#comment-13466083
 ] 

Helen Huang commented on AMQCPP-405:
------------------------------------

I got several compiler errors in our app because CMS decaf::util::StlMap now 
returns a decaf::util::Collection instead of a std::vector. So I modified 
changed my code to replace vectors with Collections. However, I got many more 
compiler errors after that. The following is one of them. Could you please take 
a look and see what is wrong? Thanks!


BrokerMonitor.cpp
c:\fl42bldtree\build\cms message 
handler\src\cmsmessagehandlercom\brokermonitor.cpp(295) : error C2259: 
'decaf::util::Collection<E>' : cannot instantiate abstract class
        with
        [
            E=BrokerStatusListener 
        ]
        due to following members:
        'void decaf::util::Collection<E>::copy(const decaf::util::Collection<E> 
&)' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(84) : see 
declaration of 'decaf::util::Collection<E>::copy'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::add(const E &)' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(122) : see 
declaration of 'decaf::util::Collection<E>::add'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::addAll(const 
decaf::util::Collection<E> &)' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(145) : see 
declaration of 'decaf::util::Collection<E>::addAll'
        with
        [
            E=BrokerStatusListener 
        ]
        'void decaf::util::Collection<E>::clear(void)' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(154) : see 
declaration of 'decaf::util::Collection<E>::clear'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::contains(const E &) const' : is 
abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(169) : see 
declaration of 'decaf::util::Collection<E>::contains'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::containsAll(const 
decaf::util::Collection<E> &) const' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(181) : see 
declaration of 'decaf::util::Collection<E>::containsAll'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::equals(const 
decaf::util::Collection<E> &) const' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(190) : see 
declaration of 'decaf::util::Collection<E>::equals'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::isEmpty(void) const' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(195) : see 
declaration of 'decaf::util::Collection<E>::isEmpty'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::remove(const E &)' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(214) : see 
declaration of 'decaf::util::Collection<E>::remove'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::removeAll(const 
decaf::util::Collection<E> &)' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(231) : see 
declaration of 'decaf::util::Collection<E>::removeAll'
        with
        [
            E=BrokerStatusListener 
        ]
        'bool decaf::util::Collection<E>::retainAll(const 
decaf::util::Collection<E> &)' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(248) : see 
declaration of 'decaf::util::Collection<E>::retainAll'
        with
        [
            E=BrokerStatusListener 
        ]
        'int decaf::util::Collection<E>::size(void) const' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(256) : see 
declaration of 'decaf::util::Collection<E>::size'
        with
        [
            E=BrokerStatusListener 
        ]
        'std::vector<_Ty> decaf::util::Collection<E>::toArray(void) const' : is 
abstract
        with
        [
            _Ty=BrokerStatusListener ,
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\collection.h(269) : see 
declaration of 'decaf::util::Collection<E>::toArray'
        with
        [
            E=BrokerStatusListener 
        ]
        'decaf::util::Iterator<E> *decaf::lang::Iterable<E>::iterator(void) 
const' : is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\lang\iterable.h(41) : see 
declaration of 'decaf::lang::Iterable<E>::iterator'
        with
        [
            E=BrokerStatusListener 
        ]
        'decaf::util::Iterator<E> *decaf::lang::Iterable<E>::iterator(void)' : 
is abstract
        with
        [
            E=BrokerStatusListener 
        ]
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\lang\iterable.h(40) : see 
declaration of 'decaf::lang::Iterable<E>::iterator'
        with
        [
            E=BrokerStatusListener 
        ]
        'void decaf::util::concurrent::Synchronizable::lock(void)' : is abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(47)
 : see declaration of 'decaf::util::concurrent::Synchronizable::lock'
        'bool decaf::util::concurrent::Synchronizable::tryLock(void)' : is 
abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(58)
 : see declaration of 'decaf::util::concurrent::Synchronizable::tryLock'
        'void decaf::util::concurrent::Synchronizable::unlock(void)' : is 
abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(65)
 : see declaration of 'decaf::util::concurrent::Synchronizable::unlock'
        'void decaf::util::concurrent::Synchronizable::wait(__int64,int)' : is 
abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(118)
 : see declaration of 'decaf::util::concurrent::Synchronizable::wait'
        'void decaf::util::concurrent::Synchronizable::wait(__int64)' : is 
abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(93)
 : see declaration of 'decaf::util::concurrent::Synchronizable::wait'
        'void decaf::util::concurrent::Synchronizable::wait(void)' : is abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(77)
 : see declaration of 'decaf::util::concurrent::Synchronizable::wait'
        'void decaf::util::concurrent::Synchronizable::notify(void)' : is 
abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(129)
 : see declaration of 'decaf::util::concurrent::Synchronizable::notify'
        'void decaf::util::concurrent::Synchronizable::notifyAll(void)' : is 
abstract
        c:\fl42bldtree\build\third party 
software\activemqcpp\activemq-cpp\src\main\decaf\util\concurrent\synchronizable.h(140)
 : see declaration of 'decaf::util::concurrent::Synchronizable::notifyAll'
                
> CMS sender thread hangs after restarting broker
> -----------------------------------------------
>
>                 Key: AMQCPP-405
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-405
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 3.4.1
>         Environment: Windows xp service pack 3, ActiveMQ broker 5.3.1, apr 
> 1.4.2, apr-util 1.3.9, apr iconv 1.2.1
>            Reporter: Helen Huang
>            Assignee: Timothy Bish
>            Priority: Critical
>             Fix For: 3.5.0
>
>         Attachments: CrashHang_Report__PID_2832__05232012143544484.mht
>
>
> The sender thread in CMS hangs after we retarted the message broker.
> The thread is 548 in the attached dump file. 
> This is a critical issue that blocks the release of our product that is 
> scheduled in a few days. We hope you can resolve it soon. Really appreciate 
> your help!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to