[
https://issues.apache.org/jira/browse/AMQCPP-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17033701#comment-17033701
]
Timothy A. Bish commented on AMQCPP-648:
----------------------------------------
There is no current active development on the C++ client
> Invalid cast in ConnectionState object in ConnectionStateTracker called from
> FailoverTransport::oneway() while initiating an XA transaction
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQCPP-648
> URL: https://issues.apache.org/jira/browse/AMQCPP-648
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Transports
> Affects Versions: 3.9.5
> Reporter: Sven Bovin
> Assignee: Timothy A. Bish
> Priority: Major
>
> From a C application we use the ActiveMQ-CPP libraries (version 3.9.5) to
> interact with ActiveMQ Classic 5.15.11.
> Our application connects to a broker using the failover transport.
> When starting an XA transaction, we first create an XID (an object of type
> XATransactionId) and use it to start the XA transaction with the
> XAResource::start method. Control then flows through several layers to arrive
> in the FailoverTransport::oneway method where a state tracker is called. The
> state tracker leads to a ConnectionStateTracker::processBeginTransaction
> method that grabs our XID (an XATransactionId) and tries to cast it to a
> LocalTransactionId. Both XATransactionId and LocalTransactionId inherit from
> TransactionId, but an XATransactionId is obviously not a LocalTransactionId
> and the cast fails. Our attempt to start an XA transaction therefore also
> fails.
> Using tcp transport instead of failover allows our code to correctly start
> the XA transaction but is not a viable solution for production use.
> Is what we observed (impossible to start an XA transaction while using
> failover) the expected behaviour (and if so, what is the rationale for it) or
> is it a bug in the library?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)