On Fri, Jul 27, 2012 at 02:36:05PM +0100, Robbie Gemmell wrote:
> It could be a little more complicated than just whether the queue itself is
> exclusive since AMQP 0-10 also has the additional concept of exclusive
> subscriptions (consumers) on a queue, which is what your logs actually
> appear to be complaining about.
Thank you, this was exactly it. When I added my queue config to
virtualhosts.xml in my Qpid broker and then started ActiveMQ (having the queue
available for Camel before any other subscribers), the Camel component could
log in and read from the target queue. I suspect I wasn't setting a
non-exclusive subscription when I added the queue, or not
unsubscribing/disconnecting properly, or something. I will figure that part out.
> It would help if you could tell us more about what you are actually doing
> with the clients/camel, what your destination strings are, etc etc. A set
> of the broker logs with the full client interaction would be useful
> (possibly after deleting the queue and starting fresh, although in saying
> that I now notice your queue is actually marked auto-delete according to
> the protocol logging you pasted.).
I will paste in some pointers for other newbies, since my own roadblock is
cleared. (My examples in the OP were taken after nuking all daemons and log
files.) Keep in mind that I'm new, so it's quite likely that these are not
optimal or even completely sensical.
Anybody not willing to make corrections can stop reading now. ;)
A new system (aka XN) will have components talking among themselves in AMQP.
First, I add some Camel and Qpid components to ActiveMQ 5.5.1 in order to let
it understand AMQP:
a) from Qpid
qpid-common-0.16.jar
qpid-client-0.16.jar
b) from Camel
camel-amqp-2.10.0.jar
camel-core-2.10.0.jar **
camel-jetty-2.10.0.jar **
camel-jms-2.10.0.jar **
camel-spring-2.10.0.jar **
** Means that I had to replace the components shipped with ActiveMQ, or
ActiveMQ would fail to deliver to the JMS queue with a null pointer exception.
This is my camel.xml for use with ActiveMQ, cribbed from internet sources. From
my non-Java perspective it looks like I can configure the beans with the
correct information, and then route any way I please using the camelContext.
NB: This is message routing inside the ActiveMQ daemon using the Camel
component, not network routing.
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<description>AMQP to JMS Routing</description>
<from uri="amqp:queue:amq.cw2"/>
<to uri="activemq:queue:cw.1"/>
</route>
</camelContext>
<!-- note the & which is the & but encoded -->
<bean id="amqp" class="org.apache.camel.component.amqp.AMQPComponent" >
<property name="connectionFactory">
<bean class="org.apache.qpid.client.AMQConnectionFactory">
<constructor-arg index="0" type="java.lang.String">
<value>amqp://cwood:cwood@/sp?brokerlist='tcp://hostname:5672?retries='1000'&connectdelay='5000';'</value>
</constructor-arg>
</bean>
</property>
</bean>
<bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent" >
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL"
value="vm://hostname?create=false&waitForStart=10000" />
<property name="userName" value="cwood"/>
<property name="password" value="cwood"/>
</bean>
</property>
</bean>
</beans>
If you have already figured out how to non-exclusively subscribe to a Qpid
queue you're better off than me, but in case not here is my Qpid virtual host
configuration:
<?xml version="1.0" encoding="ISO-8859-1"?>
<virtualhosts>
<default>sp</default>
<virtualhost>
<name>sp</name>
<sp>
<store>
<class>org.apache.qpid.server.store.MemoryMessageStore</class>
</store>
<queues>
<queue>
<name>amq.cw2</name>
<exclusive>false</exclusive>
</queue>
</queues>
</sp>
</virtualhost>
</virtualhosts>
Then I start things up in this order:
Qpid (via init script)
ActiveMQ (/opt/activemq/bin/activemq console for debugging messages)
Once those are running I use this script (cribbed from the amqp ruby gem docs,
but the messiness is all mine) to submit a message to AMQP:
#!/usr/bin/ruby
# encoding: utf-8
require "rubygems"
# gem install amqp --user-install
require 'amqp'
tcphandler = Proc.new { |settings| puts "Failed to connect.
#{settings.inspect}"; EventMachine.stop }
authhandler = Proc.new { |settings| puts "Failed to authenticate.
#{settings.inspect}"; EventMachine.stop }
csettings = {
:host => 'hostname',
:user => 'pub',
:pass => 'pub',
:vhost => 'sp',
:on_tcp_connection_failure => tcphandler,
:on_possible_authentication_failure => authhandler,
}
EventMachine.run do
AMQP.connect(csettings) do |client, open_ok|
channel = AMQP::Channel.new(client)
exchange = AMQP::Exchange.new(channel, :direct, "cw1")
queue = channel.queue("amq.cw2")
queue.bind(exchange, :routing_key => 'cw3') do
puts "Bound #{exchange.name} => #{queue.name}"
end
channel.on_error do |ch, channel_close|
puts channel_close.reply_text
connection.close { EventMachine.stop }
end
now = Time.new
exchange.publish "cw test at #{now}", :routing_key => 'cw3'
end
end
Links that helped me:
http://rubyamqp.info/
http://camel.465427.n5.nabble.com/URI-format-for-AMQP-topic-help-required-td471356.html
http://activemq.apache.org/sample-camel-routes.html
http://www.amqp.org/resources/download
> As an aside, I take it you are doing this due to a need to integrate some
> existing systems using ActiveMQ JMS clients with others using Qpid/AMQP
> clients / broker?
Without giving away secrets, the new system uses AMQP and our current
ActiveMQ/JMS broker needs to be copied on some messages, so that we can use
pre-existing STOMP/JMS clients to react to certain communications inside the
new system.
> Robbie
>
> On 27 July 2012 12:31, Christopher Wood <[email protected]> wrote:
>
> > On Fri, Jul 27, 2012 at 03:53:13AM +0100, Oleksandr Rudyy wrote:
> > > Hi Christopher,
> > >
> > > What is the version of your broker?
> > >
> > > In case if broker version >= 0.16, I found so far 2 scenarios leading
> > > to these issue:
> > > 1) queue was created as exclusive, consumer subscribed, and
> > > exclusivity flag was reset through JMX while consumer was still
> > > present
> >
> > In the ruby client I set :exclusive => false. Come to think of it, I'm not
> > sure how to check from the amqp gem whether a queue is exclusive. I'll look
> > into that.
> >
> > > 2) queue was created as normal, exclusivity flag was set through JMX,
> > > consumer subscribed, and exclusivity flag was reset through JMX while
> > > consumer was still present
> >
> > I was seeing this even without using the JMX admin interface, oddly
> > enough. Though I did see the same behaviour after using JMX to change the
> > queue to exclusive and then non-exclusive. I wonder if I wasn't seeing the
> > right setting (but right now I don't have enough knowledge to say for sure).
> >
> > > It seems on resetting of exclusivity flag through JMX, broker does not
> > > clean owningSession and authorizationHolder.
> > >
> > > Could you please clarify whether by any chance you have run into any
> > > of these 2 scenarios?
> > >
> > > Kind Regards,
> > > Alex
> > >
> > >
> > > On 26 July 2012 21:56, Christopher Wood <[email protected]>
> > wrote:
> > > > Good morning. So far my qpid experience has been quite smooth, and
> > using it has been comparatively relaxing. Of course my hitch would come
> > when I try to mash up qpid, activemq, and camel. I'm asking my question
> > here since I'm having a problem with the mix, and the only inconsistency I
> > can find so far is in qpid components. If you'd like to punt me off to some
> > other list, I'm all ears. ;)
> > > >
> > > > The questions:
> > > >
> > > > Why do my qpid logs say that the queue is exclusive when my Qpid JMX
> > Management Console says that it isn't?
> > > > How do I ensure that my queues are non-exclusive?
> > > > If the queue has to be exclusive, what is keeping the queue exclusive
> > and how do I get it to stop?
> > > >
> > > >
> > > >
> > > > Short details:
> > > >
> > > > I have a qpid broker, with ActiveMQ/Camel connecting to slurp in
> > messages from a qpid queue and then translate them to an activemq queue for
> > JMS access. The ActiveMQ/Camel instance fails to do... some specific task
> > I'm not quite clear on, but fails because the queue is exclusive. I didn't
> > set the queue to be exclusive.
> > > >
> > > > Platform:
> > > >
> > > > Debian 6 x86_64
> > > > AMQP Client to send the initial message is ruby 1.8.7 with the amqp
> > gem.
> > > > Oracle (Sun) java 1.6.0_31
> > > > Qpid 0.16 (running as a daemon)
> > > > ActiveMQ 5.5.1 with camel-amqp-2.10.0.jar, qpid-common-0.16.jar,
> > qpid-client-0.16.jar (running as a daemon)
> > > >
> > > > The log says:
> > > >
> > > > 2012-07-26 16:27:04,584 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=2
> > ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > > >
> > > > My console says that amq.cw2 is exclusive:false, see the attached
> > screenshot.
> > > >
> > > >
> > > >
> > > > Longer details:
> > > >
> > > > Here is one connection from ActiveMQ, as seen in the qpid logs:
> > > >
> > > > 2012-07-26 16:27:04,527 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] AMQP.1 0-10
> > > > 2012-07-26 16:27:04,528 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] AMQP.1 0-10
> > > > 2012-07-26 16:27:04,529 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > ConnectionStart(serverProperties={qpid.federation_tag=58d89af6-e6d1-4705-8bd6-eec225e77fa3,
> > qpid.features=[qpid.jms-selector]}, mechanisms=[AMQPLAIN, PLAIN, CRAM-MD5],
> > locales=[en_US])
> > > > 2012-07-26 16:27:04,529 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,532 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > ConnectionStartOk(clientProperties={product=qpid, qpid.client_version=0.16,
> > platform=Java(TM) SE Runtime Environment, 1.6.0_31-b04, Sun Microsystems
> > Inc., amd64, Linux, 2.6.32-5-amd64, unknown, qpid.session_flow=1,
> > clientName=cwlab-011343334394271, qpid.client_pid=28586,
> > qpid.client_process=Qpid Java Client}, mechanism=CRAM-MD5)
> > > > 2012-07-26 16:27:04,532 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > ConnectionSecure(challenge=[B@4c68059)
> > > > 2012-07-26 16:27:04,533 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,534 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > ConnectionSecureOk(response=[B@4145582)
> > > > 2012-07-26 16:27:04,535 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > ConnectionTune(channelMax=256, maxFrameSize=65535, heartbeatMin=0,
> > heartbeatMax=0)
> > > > 2012-07-26 16:27:04,535 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,536 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > ConnectionTuneOk(channelMax=256, maxFrameSize=65535, heartbeat=0)
> > > > 2012-07-26 16:27:04,537 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > ConnectionOpen(virtualHost=sp, insist=true)
> > > > 2012-07-26 16:27:04,544 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > ConnectionOpenOk(knownHosts=[])
> > > > 2012-07-26 16:27:04,544 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,547 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > SessionAttach(name=[B@448be1c9)
> > > > 2012-07-26 16:27:04,547 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionAttached(name=[B@448be1c9)
> > > > 2012-07-26 16:27:04,548 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,550 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > SessionRequestTimeout(timeout=0)
> > > > 2012-07-26 16:27:04,550 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionTimeout(timeout=0)
> > > > 2012-07-26 16:27:04,550 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,551 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > SessionCommandPoint(commandId=0, commandOffset=0)
> > > > 2012-07-26 16:27:04,552 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > ExchangeBound(exchange=amq.cw2, queue=amq.cw2)
> > > > 2012-07-26 16:27:04,553 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionCommandPoint(commandId=0, commandOffset=0)
> > > > 2012-07-26 16:27:04,553 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,554 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=0
> > ExecutionResult(commandId=0,
> > value=ExchangeBoundResult(exchangeNotFound=true))
> > > > 2012-07-26 16:27:04,554 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,562 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionFlush(completed=true)
> > > > 2012-07-26 16:27:04,563 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,564 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > SessionFlush(completed=true)
> > > > 2012-07-26 16:27:04,565 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionCompleted(commands={[0, 0]})
> > > > 2012-07-26 16:27:04,565 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,566 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > QueueQuery(queue=amq.cw2)
> > > > 2012-07-26 16:27:04,567 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=1
> > ExecutionResult(commandId=1, value=QueueQueryResult(queue=amq.cw2,
> > autoDelete=true, arguments={}, messageCount=1, subscriberCount=0))
> > > > 2012-07-26 16:27:04,567 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,572 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > SessionCompleted(commands=[0, 0])
> > > > 2012-07-26 16:27:04,574 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 [S]
> > ExecutionSync()
> > > > 2012-07-26 16:27:04,578 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionCompleted(commands={[0, 2]})
> > > > 2012-07-26 16:27:04,579 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,581 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionCompleted(commands={[0, 2]})
> > > > 2012-07-26 16:27:04,581 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,583 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > MessageSubscribe(queue=amq.cw2, destination=1, acceptMode=EXPLICIT,
> > acquireMode=PRE_ACQUIRED, resumeTtl=0, arguments={x-filter-jms-selector=})
> > > > 2012-07-26 16:27:04,584 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=2
> > ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > > > 2012-07-26 16:27:04,585 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,595 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionRequestTimeout(timeout=0)
> > > > 2012-07-26 16:27:04,598 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,599 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - SEND: [conn:6b6c14c0] ch=0
> > SessionDetach(name=[B@fe14de0)
> > > > 2012-07-26 16:27:04,600 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - FLUSH: [conn:6b6c14c0]
> > > > 2012-07-26 16:27:04,602 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > MessageSetFlowMode(destination=1, flowMode=WINDOW)
> > > > 2012-07-26 16:27:04,603 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > MessageFlow(destination=1, unit=BYTE, value=4294967295)
> > > > 2012-07-26 16:27:04,604 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 [S]
> > ExecutionSync()
> > > > 2012-07-26 16:27:04,606 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > SessionTimeout(timeout=0)
> > > > 2012-07-26 16:27:04,607 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - RECV: [conn:6b6c14c0] ch=0
> > SessionDetached(name=[B@10bfb545, code=NORMAL)
> > > > 2012-07-26 16:27:07,801 DEBUG [IoReceiver - /10.201.140.228:60713]
> > util.Logger (Logger.java:54) - connection closed: conn:6b6c14c0
> > > >
> > > > Here is the error from ActiveMQ:
> > > >
> > > > INFO |
> > Connection:amqp://cwood:********@cwlab-011343334394271/sp?brokerlist='tcp://cwlab-01.secret:5672?connectdelay='5000'&retries='1000''
> > > > INFO | Using ProtocolVersion for Session:0-10
> > > > INFO | New Method Dispatcher:AMQProtocolSession[null]
> > > > INFO | Connecting with ProtocolHandler Version:0-10
> > > > INFO | The broker does not support the configured connection idle
> > timeout of 120 sec, using the brokers max supported value of 0 sec instead.
> > > > INFO | Connected with ProtocolHandler Version:0-10
> > > > INFO | Successfully refreshed JMS Connection
> > > > INFO | Created session:org.apache.qpid.client.AMQSession_0_10@46fb3d6
> > > > INFO | Prefetching delayed existing messages will not flow until
> > requested via receive*() or setML().
> > > > INFO | Closing AMQConnection due to :org.apache.qpid.AMQException:
> > ch=0 id=2 ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > [error code 405: Already exists]
> > > > ERROR | Throwable Received but no listener set:
> > org.apache.qpid.AMQException: ch=0 id=2
> > ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > [error code 405: Already exists]
> > > > INFO | Closing AMQConnection due to :org.apache.qpid.AMQException:
> > ch=0 id=2 ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > [error code 405: Already exists]
> > > > ERROR | Throwable Received but no listener set:
> > org.apache.qpid.AMQException: ch=0 id=2
> > ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > [error code 405: Already exists]
> > > > INFO | Closing session: org.apache.qpid.client.AMQSession_0_10@46fb3d6
> > > > WARN | Setup of JMS message listener invoker failed for destination
> > 'amq.cw2' - trying to recover. Cause: Error registering consumer:
> > org.apache.qpid.AMQException: ch=0 id=2
> > ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > [error code 405: Already exists]
> > > > javax.jms.JMSException: Error registering consumer:
> > org.apache.qpid.AMQException: ch=0 id=2
> > ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > [error code 405: Already exists]
> > > > at
> > org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2048)
> > > > at
> > org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2000)
> > > > at
> > org.apache.qpid.client.AMQConnectionDelegate_0_10.executeRetrySupport(AMQConnectionDelegate_0_10.java:366)
> > > > at
> > org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:577)
> > > > at
> > org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
> > > > at
> > org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1998)
> > > > at
> > org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:980)
> > > > at
> > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:477)
> > > > at
> > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:221)
> > > > at
> > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:1079)
> > > > at
> > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1055)
> > > > at
> > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1048)
> > > > at
> > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
> > > > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> > > > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
> > Source)
> > > > at java.lang.Thread.run(Unknown Source)
> > > > Caused by: org.apache.qpid.AMQException: ch=0 id=2
> > ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3,
> > description=Exclusive Queue: amq.cw2 owned exclusively by another session)
> > [error code 405: Already exists]
> > > > at
> > org.apache.qpid.client.AMQSession_0_10.setCurrentException(AMQSession_0_10.java:1054)
> > > > at
> > org.apache.qpid.client.AMQSession_0_10.sync(AMQSession_0_10.java:1034)
> > > > at
> > org.apache.qpid.client.AMQSession_0_10.sendConsume(AMQSession_0_10.java:646)
> > > > at
> > org.apache.qpid.client.AMQSession_0_10.sendConsume(AMQSession_0_10.java:67)
> > > > at
> > org.apache.qpid.client.AMQSession.consumeFromQueue(AMQSession.java:2595)
> > > > at
> > org.apache.qpid.client.AMQSession.registerConsumer(AMQSession.java:2965)
> > > > at
> > org.apache.qpid.client.AMQSession.access$500(AMQSession.java:97)
> > > > at
> > org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2025)
> > > > ... 15 more
> > > >
> > > >
> > > >
> > > >
> > > > I am horribly puzzled and I welcome any/all hints.
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]