Re: sole-connection-enforcement-policy with apache-qpid-jms-0.29.0

2018-02-16 Thread Rob Godfrey
The JMS specification defines that an attempt to create more than one
connection with the same "clientID" should result in failure (see for
example:
https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String-
).

Qpid Broker-J is simply enforcing this requirement of JMS using the
mechanism defined by this proposed extension to AMQP:
https://www.oasis-open.org/committees/download.php/61724/amqp-soleconn-v1.0-wd03.pdf

To allow for multiple connections you must either not set the clientID or
use a different clientID on each connection.

Hope this helps,
Rob

On 16 February 2018 at 21:25, bryand  wrote:

> I'm using apache-qpid-broker-j-7.0.1 and have been doing some development
> with client apache-qpid-jms-0-x-6.3.0.   That has been working fine so far
> in early development.
>
> However, I have an app that I can use the newer client
> apache-qpid-jms-0.29.0 and its fine when I  create one connection.  However
> as soon as I try to create a second connection (I'm using the same user
> account for all connections), the connection can't be created - the qpid
> client code just loops with this log message:
>
> WARN  AmqpResourceBuilder- Open of resource:(JmsConnectionInfo
> {
> ID:ecf41e07-9797-4aaa-88e4-db3cb3111293:2, configuredURI =
> failover:(amqp://spgappdevmutil:5672?amqp.vhost=spgqpiddev,amqp://
> appprd02:5672?amqp.vhost=spgqpiddev,amqp://appprd02:
> 5682?amqp.vhost=spgqpiddev)?failover.maxReconnectAttempts=20,
> connectedURI = null }) failed: Connection closed due to
> sole-connection-enforcement-policy 'refuse-connection' [condition =
> amqp:invalid-field]
>
> I found this in the C++ wiki that seems related:
> command line switch '--connection-limit-per-user'
>
> but I can't find anything like that with broker-j.
>
>
>
> --
> Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-
> f2158936.html
>
> -
> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> For additional commands, e-mail: users-h...@qpid.apache.org
>
>


sole-connection-enforcement-policy with apache-qpid-jms-0.29.0

2018-02-16 Thread bryand
I'm using apache-qpid-broker-j-7.0.1 and have been doing some development
with client apache-qpid-jms-0-x-6.3.0.   That has been working fine so far
in early development.  

However, I have an app that I can use the newer client
apache-qpid-jms-0.29.0 and its fine when I  create one connection.  However
as soon as I try to create a second connection (I'm using the same user
account for all connections), the connection can't be created - the qpid
client code just loops with this log message:

WARN  AmqpResourceBuilder- Open of resource:(JmsConnectionInfo {
ID:ecf41e07-9797-4aaa-88e4-db3cb3111293:2, configuredURI =
failover:(amqp://spgappdevmutil:5672?amqp.vhost=spgqpiddev,amqp://appprd02:5672?amqp.vhost=spgqpiddev,amqp://appprd02:5682?amqp.vhost=spgqpiddev)?failover.maxReconnectAttempts=20,
connectedURI = null }) failed: Connection closed due to
sole-connection-enforcement-policy 'refuse-connection' [condition =
amqp:invalid-field]

I found this in the C++ wiki that seems related:
command line switch '--connection-limit-per-user' 

but I can't find anything like that with broker-j.



--
Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html

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



Re: Temporary queues deletion

2018-02-16 Thread Gordon Sim

On 15/02/18 20:40, Michael Ivanov wrote:

Greetings!

I have a problem with autodeleted queues. I have a service that reads amqp 
messages
and sends replies using reply_to value. Client that sends the message generates
temporary queue to use for replies using "/#" syntax. Client sends the message,
waits for reply and terminates. But temporary queue, created by client, still 
remains
in the broker until the other end (my service) is restarted.

Here's how this queue is shown by qpid-stat after client has terminated:

  queue  dur  autoDel  excl  msg   msgIn  msgOut  bytes  
bytesIn  bytesOut  cons bind
   
===
   821  857-349.0 Y 0 1  1   0257   
   257 01

Queue is marked as auto delete, number of connections is 0, but bind is 1. I 
guess
this is the reason why it is not deleted.

Is there a way to request messenger to unbind the queue as soon as the message 
is sent?

I am using pn_messenger_* interface of proton library.


I believe the problem is that there is still a sending link to the 
queue(s). (This doesn't show up in the qpid-stat output because it was 
defined for older iterations of AMQP where there was no such concept).


If the queue is both auto-delete and exclusive, it is deleted when the 
link that caused it to be created is closed. If it is auto-delete only, 
it is deleted when it is 'no longer used', which is currently 
interpreted by qpidd to being when there are no links to it in either 
direction. In AMQP 1.0 this can also be controlled through the 
'lifetime-policy' property in the dynamic-node-properties field.


Unfortunately the messenger API gives you no control over the type of 
queue you request, nor (I think) does it allow you to close senders 
(which may in itself be a problem) or use an anonymous sender.


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