[ 
https://issues.apache.org/jira/browse/DISPATCH-641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ganesh Murthy reassigned DISPATCH-641:
--------------------------------------

    Assignee: Ganesh Murthy

> Make containerId attribute work with clients
> --------------------------------------------
>
>                 Key: DISPATCH-641
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-641
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Router Node
>    Affects Versions: 0.7.0
>            Reporter: Matej Lesko
>            Assignee: Ganesh Murthy
>
> During verification of issue 
> https://issues.apache.org/jira/browse/DISPATCH-628
> I found out that when I set this _containerId_ in the clients, router can see 
> it but it can not route it. 
> E.g. I have sender with the _containerId_ "xxx" and autoLink entity with the 
> _containerId_ "xxx" ->
> this autoLink does not activate in this scenario. 
> Simply said when I have sender/receiver with the _containerId_ set and 
> matching the _containerId_ attribute in the configuration file, it does 
> *not* accept the connection. e.g. _linkRoute_ usage ends with the  "Link 
> error: No route to the destination node".
> Possible configuration to use(same applies for _autoLink_ entities)
> {noformat}
> router {
>     mode: standalone
>     id: Router.A
> }
> listener {
>     host: 0.0.0.0
>     port: amqp
>     authenticatePeer: no
>     saslMechanisms: ANONYMOUS
> }
> connector {
>     name: broker
>     host: MY-HOST
>     role: route-container
>     port: amqp
> }
> address {
>     prefix: jms.queue
>     waypoint: yes
>     distribution: balanced
> }
> linkRoute {
>     name: myqueueIn
>     dir: in
>     prefix: jms.queue.myqueue
>     connection: broker
>     containerId: dtest
> }
> linkRoute {
>     name: myqueueOut
>     dir: out
>     prefix: jms.queue.myqueue
>     connection: broker
>     containerId: dtest
> }
> log {
>     module: MESSAGE
>     enable: debug
>     timestamp: yes
> }
> {noformat}
> Right now, router works only as described e.g. here 
> [https://issues.apache.org/jira/browse/DISPATCH-640|DISPATCH-640]
> In such a case, it is important to set a *name* (aka container_id) for the 
> broker, matching the value of _containerId_ attribute of the chosen 
> linkRoute/autoLink entity. Then all messages are routed to this broker, 
> ignoring the value of _container_id_ of the actual client itself.
> Request is that this value would be used to "specify" which clients would 
> actually be allowed to make a connection to the broker.
> Usages:
> Scenario A:
> 1. Client has containerId=xxx, address="myqueue"
> 2. linkRoute has containerId=yyy, prefix="myqueue"
> resolution: connection won't be established, not matching containerId
> Scenario B:
> 1. Client has containerId=xxx, address="myqueue"
> 2. linkRoute has containerId=xxx, prefix="myqueue"
> resolution: connection will be established, client sends messages to the 
> broker
> As described in 
> [https://issues.apache.org/jira/browse/DISPATCH-639|DISPATCH-639]  -> 
> "if there is a container field, use it otherwise use the connection_field to 
> specify the connection to use."
> This could be elevated to the use case, where an condition as:
> "if there is container field and also connection_field specified, demand 
> matching containerId from the client"



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to