[
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