cjwmorgan-sol commented on issue #4: [WIP] Failover implementation
URL: https://github.com/apache/activemq-nms-amqp/pull/4#issuecomment-502784039
 
 
   I have found an issue with the current refactor of the code with creating a 
connection. Right now the clientId can not be explicitly set by an application 
after a connection is created as the provider Connect operation establishes a 
an AmqpConnection. This could breaks applications that use Durable 
Subscriptions.
   
   Looking at Qpid jms the Provider Connect operation the provider establishes 
the underlying transport only during Provider Connect and establishes the amqp 
Connection later as a part of the JmsConnection resource create. 
   
   Since AmqpNetLite creates transports as a part of new amqp Connection it 
will be difficult (perhaps impossible) to separate the operations of Provider 
Connect (transport connect) and Amqp Connection (Amqp Connection resource 
create).
   
   The initial implementation used the IProviderTransportContext interface to 
configure transport properties. When the CreateConnectionBuilder function was 
used an immutable transport property Connection Create delegate was returned 
allowing the connection to have mutable amqp connection properties like the 
ClientId. The CreateConnectionBuilder Function was also used to validate 
transport properties as much as possible. This to me seems to be the closest a 
"provider Connect" operation.
   
   @HavretGC have any ideas about this issue?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to