[openamq-dev] :(

Martin Sustrik sustrik at imatix.com
Wed Aug 22 11:23:45 CEST 2007


Ok,

Your problem is that the queue (the sotrage for messages) doesn't exist 
at the point where messages are published. It is created afterwards 
(when subscriber application is started) but it's too late then.

I would suggest that you use a named shared (i.e. not exclusive) queue. 
You should declare it and bind it to the exchange in both publisher and 
consumer so that the one that starts first creates it.

Read the AMQP specification to understand how exchanges, bindings and 
queues are supposed to work.

Martin

Malinga wrote:
> malinga at rcapl-dt-eng003:~/Quicksilver/OpenAMQ_API_PureC/bin$ cd
> malinga at rcapl-dt-eng003:~$ cd ibase/bin/
> malinga at rcapl-dt-eng003:~/ibase/bin$ ./amq_server -t 1 --debug_route 1 
> --debug_queue 1
> 2007-08-23 14:19:13: W: deprecated argument, suggest you use '--trace'
> OpenAMQ/1.2c1
> Production release
> 
> Copyright (c) 2007 iMatix Corporation
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> 2007-08-23 14:19:13: W: security warning - logins use default passwords
> 2007-08-23 14:19:13: I: server starting in stand-alone mode
> 2007-08-23 14:19:13: I: server binding to 192.168.0.103:5672
> 2007-08-23 14:19:14: I: server ready for incoming AMQ connections
> 2007-08-23 14:19:35: I: send connection.start: version_major=0 
> version_minor=9 server_properties=196B mechanisms=5B locales=5B
> 2007-08-23 14:19:35: I: recv connection.start-ok: client_properties=184B 
> mechanism="PLAIN" response=12B locale="en_US"
> 2007-08-23 14:19:35: I: send connection.tune: channel_max=255 
> frame_max=32768 heartbeat=2
> 2007-08-23 14:19:35: I: recv connection.tune-ok: channel_max=255 
> frame_max=32768 heartbeat=2
> 2007-08-23 14:19:35: I: recv connection.open: virtual_host="/" 
> capabilities="" insist=0
> 2007-08-23 14:19:35: I: send connection.open-ok: known_hosts=""
> 2007-08-23 14:19:35: I: recv channel.open: out_of_band=""
> 2007-08-23 14:19:35: I: send channel.open-ok: channel_id=4B
> 2007-08-23 14:19:35: I: recv basic.publish: ticket=0 
> exchange="amq.direct" routing_key="destination" mandatory=0 immediate=0
> 2007-08-23 14:19:35: X: publish  amq.direct: routing_key=destination
> 2007-08-23 14:19:35: X: route    amq.direct: routing_key=destination
> 2007-08-23 14:19:35: X: discard  amq.direct: message= 
> reason=unroutable_optional
> 2007-08-23 14:19:35: I: recv basic.publish: ticket=0 
> exchange="amq.direct" routing_key="destination" mandatory=0 immediate=0
> 2007-08-23 14:19:35: X: route    amq.direct: routing_key=destination
> 2007-08-23 14:19:35: I: recv basic.publish: ticket=0 
> exchange="amq.direct" routing_key="destination" mandatory=0 immediate=0
> 2007-08-23 14:19:35: X: publish  amq.direct: routing_key=destination
> 2007-08-23 14:19:35: X: route    amq.direct: routing_key=destination
> 2007-08-23 14:19:36: I: recv basic.publish: ticket=0 
> exchange="amq.direct" routing_key="destination" mandatory=0 immediate=0
> 2007-08-23 14:19:36: X: route    amq.direct: routing_key=destination
> 2007-08-23 14:19:36: X: discard  amq.direct: message= 
> reason=unroutable_optional
> 2007-08-23 14:19:36: X: publish  amq.direct: routing_key=destination
> 2007-08-23 14:20:00: I: send connection.start: version_major=0 
> version_minor=9 server_properties=196B mechanisms=5B locales=5B
> 2007-08-23 14:20:00: I: recv connection.start-ok: client_properties=184B 
> mechanism="PLAIN" response=12B locale="en_US"
> 2007-08-23 14:20:00: I: send connection.tune: channel_max=255 
> frame_max=32768 heartbeat=2
> 2007-08-23 14:20:00: I: recv connection.tune-ok: channel_max=255 
> frame_max=32768 heartbeat=2
> 2007-08-23 14:20:00: I: recv connection.open: virtual_host="/" 
> capabilities="" insist=0
> 2007-08-23 14:20:00: I: send connection.open-ok: known_hosts=""
> 2007-08-23 14:20:00: I: recv channel.open: out_of_band=""
> 2007-08-23 14:20:00: I: send channel.open-ok: channel_id=4B
> 2007-08-23 14:20:00: I: recv queue.declare: ticket=0 queue="" passive=0 
> durable=0 exclusive=1 auto_delete=1 nowait=0 arguments=0B
> 2007-08-23 14:20:00: Q: create   queue=#0 auto_delete=1
> 2007-08-23 14:20:00: X: bind     $default$: queue=#0
> 2007-08-23 14:20:00: X: compile  $default$: routing_key=#0
> 2007-08-23 14:20:00: I: send queue.declare-ok: queue="#0" 
> message_count=0 consumer_count=0
> 2007-08-23 14:20:00: I: recv queue.bind: ticket=0 queue="" 
> exchange="amq.direct" routing_key="destination" nowait=0 arguments=0B
> 2007-08-23 14:20:00: X: bind     amq.direct: queue=#0
> 2007-08-23 14:20:00: X: compile  amq.direct: routing_key=destination
> 2007-08-23 14:20:00: I: send queue.bind-ok:
> 2007-08-23 14:20:00: I: recv basic.consume: ticket=0 queue="" 
> consumer_tag="" no_local=1 no_ack=1 exclusive=1 nowait=0 arguments=0B
> 2007-08-23 14:20:00: Q: dispatch queue=#0 nbr_messages=0 nbr_consumers=1
> 2007-08-23 14:20:00: I: send basic.consume-ok: consumer_tag="0"
> 2007-08-23 14:20:03: W: process was interrupted... shutting down
> 2007-08-23 14:20:03: Q: destroy  queue=#0
> 2007-08-23 14:20:03: I: shutdown is complete
> 
> 
> 
> 
> ------------------------------------------------------------------------
> Need a vacation? Get great deals to amazing places 
> <http://us.rd.yahoo.com/evt=48256/*http://travel.yahoo.com/;_ylc=X3oDMTFhN2hucjlpBF9TAzk3NDA3NTg5BHBvcwM1BHNlYwNncm91cHMEc2xrA2VtYWlsLW5jbQ-->on 
> Yahoo! Travel.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> openamq-dev mailing list
> openamq-dev at lists.openamq.org
> http://lists.openamq.org/mailman/listinfo/openamq-dev



More information about the openamq-dev mailing list