qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
Date Wed, 04 Jan 2017 14:45:58 GMT

    [ 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

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message