Re: sole-connection-enforcement-policy with apache-qpid-jms-0.29.0
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, bryandwrote: > 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
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
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