[ 
https://issues.apache.org/jira/browse/PROTON-1415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15880801#comment-15880801
 ] 

Jeremy Gooch commented on PROTON-1415:
--------------------------------------

Currently getting the following error:-

{{./receive.go:64: undefined: electron.DurableSubscription}}

It doesn't seem to be declared in the Interface definition at line 29 of 
link.go (i.e. where LinkName and Source can be found).  Is this deliberate?
https://github.com/alanconway/qpid-proton/blob/go-durable-sub/proton-c/bindings/go/src/qpid.apache.org/electron/link.go#L29

I've updated the client code, to allow topic/queue and the subscription name to 
be passed in at runtime, in case that's useful for testing,
https://github.com/goochjs/amqp-activemq-python-go/blob/master/go-electron/receive.go

Calling syntax:-
{{go run receive.go -debug -count 10 -name fred -source topic://some_topic 
amqp://localhost:5672}}

> go binding does not create durable subscriber
> ---------------------------------------------
>
>                 Key: PROTON-1415
>                 URL: https://issues.apache.org/jira/browse/PROTON-1415
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: go-binding
>    Affects Versions: 0.17.0
>         Environment: Docker for Windows 1.13.1
> Docker golang:1.7
> ActiveMQ 5.14.3 (Java 1.8.0_111)
>            Reporter: Jeremy Gooch
>            Assignee: Alan Conway
>
> When creating a subscription from Qpid Electron, the subscription name is not 
> set, meaning that durable subscriptions cannot be created.
> Example code -> 
> https://github.com/goochjs/amqp-activemq-python-go/blob/master/go-electron/receive.go
> Go example snippet (setting container ID):-
>       container = electron.NewContainer(fmt.Sprintf("receive-client[%v]", 
> os.Getpid()))
> Go example snippet (failing to set subscription name):-
>       if r, err := c.Receiver(electron.LinkName(SubscriptionName), 
> electron.Source("topic://"+AmqpResourceName)); err == nil {
> For comparison, I have a working Qpid Proton Python client, which sets both 
> connection ID and subscription name -> 
> https://github.com/goochjs/amqp-activemq-python-go/blob/master/python-proton/message_receiver.py
> Python example snippet (setting container ID):-
>       # Name the subscription after the script file name
>         event.container.container_id = __file__
> Python example snippet (setting subscription name):-
>         messaging_connection = event.container.connect(self.url)
>         event.container.create_receiver(
>             messaging_connection,
>             self.resource,
>             name=self.subscription_name,
>             options=durable
>         )



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to