You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Arthur Naseef (JIRA)" <ji...@apache.org> on 2015/07/21 18:31:05 UTC

[jira] [Commented] (AMQ-5224) XA pooled connection factories are not recoverable

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

Arthur Naseef commented on AMQ-5224:
------------------------------------

This change breaks backward compatibility by changing the signature of the public method.  Here is one example impact:

{noformat}
Error during dispatch. (java.lang.NoSuchMethodError: org.apache.activemq.jms.pool.PooledConnectionFactory.setConnectionFactory(Ljavax/jms/ConnectionFactory;)V)
java.lang.NoSuchMethodError: org.apache.activemq.jms.pool.PooledConnectionFactory.setConnectionFactory(Ljavax/jms/ConnectionFactory;)V
{noformat}

It seems to me that rather than changing the appropriate method signature taking a {{ConnectionFactory}} to accepting any {{Object}} because some XAConnectionFactory implementations do not properly implement {{ConnectionFactory}} is a bad way to go - introducing complexity where it is unneeded.  It would be far simpler to wrap those XAConnectionFactory with thin ConnectionFactory implementations.

Anyway, the damage is done here - if we change the signature back, another non-backward-compatible change will be introduced.

Please consider all the impacts of these changes, especially since we do not have plans to bump the ActiveMQ major version number.

> XA pooled connection factories are not recoverable
> --------------------------------------------------
>
>                 Key: AMQ-5224
>                 URL: https://issues.apache.org/jira/browse/AMQ-5224
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.9.1, 5.10.0
>            Reporter: Guillaume Nodet
>             Fix For: 5.11.0
>
>
> PooledConnectionFactory#setConnectionFactory hides the XAConnectionFactory interface which is used by the resource manager.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)