[
https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15798421#comment-15798421
]
Robbie Gemmell commented on QPID-7605:
--------------------------------------
What we are doing for the JMS mapping is for the client to send a
'sole-connection-for-container' connection capability to request that the
broker/peer grant exclusive use of the container-id (which would be the
ClientID) to the connection, or fail the Open if it cant because another is
already using it. The broker signals it is honouring the request by supporting
the same capability in its reply Open frame.
If the broker fails the connection attempt, it should add an entry to the Close
error info map to hint that the container-id was the cause, allowing the client
to throw InvalidClientIDException specifically, by adding an symbol key/value
of "invalid-field"/"container-id". We also specified it should add a symbol
keyed boolean property of "amqp:connection-establishment-failed" as a hint that
the Open has failed and a Close will be following immediately with the reason
(since the spec has no way to convey that scenario, unlike with Attach/Detach
where it does by leaving the source/target as null)
> [Java Broker] [AMQP1.0] Container id uniqueness
> -----------------------------------------------
>
> Key: QPID-7605
> URL: https://issues.apache.org/jira/browse/QPID-7605
> Project: Qpid
> Issue Type: Improvement
> Components: Java Broker
> Reporter: Keith Wall
> Fix For: qpid-java-7.0
>
>
> The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open
> performative container-id is unique amongst existing established connections.
> As the JMS client id maps to the container-id, so this will fulfil the JMS
> requirement.
> https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String-
> Note that the Qpid JMS Client requires the Close performative with an Error
> containing a hint to generate to correct JMS exception. How will the Qpid
> Broker know to do this?
> org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]