Justin Ross commented on PROTON-1004:

The keyword args do clarify, but I don't understand why it's important to use 
URLs outside of container.create_link.  I see two straightforward cases:

sender = event.container.create_sender("amqp://myhost:8888/xyz")

conn = event.container.connect("myhost:8888")
sender = conn.create_sender("xyz")

The first case is the convenience case, getting you to your messaging endpoint 
immediately.  The latter is the let-me-do-it-how-I-want approach.  Use a URL 
parser if you need to factor out elements of a URL to use in the API.

With a clean separation, the user never faces the problem of the same input 
producing different behaviors.

> Inconsistency in container.create_sender
> ----------------------------------------
>                 Key: PROTON-1004
>                 URL: https://issues.apache.org/jira/browse/PROTON-1004
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>    Affects Versions: 0.10
>            Reporter: Ted Ross
>            Assignee: Gordon Sim
> For URL = "localhost:5672/examples"
> Using the API in two different ways:
> {noformat}
>     def on_start(self, event):
>         event.container.create_sender(URL)
> {noformat}
> Yields an attach with the following target:
> [address="examples", durable=0, timeout=0, dynamic=false]
> But this variation yields something different:
> {noformat}
>     def on_start(self, event):
>         conn = event.container.connect(URL, heartbeat=8)
>         event.container.create_sender(conn, URL)
> {noformat}
> yields:
> [address="localhost:5672/examples", durable=0, timeout=0, dynamic=false]
> The attach targets should be consistent across these examples.  I believe the 
> first example is the correct one.

This message was sent by Atlassian JIRA

Reply via email to