[ 
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)

Reply via email to