Fwd: Issues with AS3 AMQP

2 views
Skip to first unread message

Ben Hood

unread,
Sep 20, 2008, 3:56:56 AM9/20/08
to as3-am...@googlegroups.com
Forwarded conversation
Subject: Issues with AS3 AMQP
------------------------

From: Peter Kieltyka <peter.k...@gmail.com>
Date: Fri, Sep 19, 2008 at 5:27 PM
To: Ben Hood <0x6e...@gmail.com>


Hi Ben,

I just wanted to follow up with you with regards to my development on
the AS3 AMQP library. Presently there are three significant issues
with the library. I've mentioned these to you individually but I'd
like consolidate the information.

1. Windows compatibility
- Issue pertaining to the encoding/decoding of information between the
client and server

2. Delivered messages do not return the method data
- class: org.amqp.methods.basic.Deliver
- method: readArgumentsFrom
- the field routingkey is always empty however it should display the
routingkey that the message was delivered on
- perhaps the server is not populating this data in the header of the
message, or as3-amqp is not parsing it properly

3. Server does not stop delivering messages even after a Basic.Cancel
command with a consumertag is passed
- I've tested this, and received a cancelOk with the tag that I had
passed, expecting that the server is acknowledging my request to
cancel the consumer
- However, as I observe the traces, messages are still being delivered
to my client for the consumer

These issues are fairly significant to my application and of course to
the overall library. I'm not familiar with the construction of the
RabbitMQ server, so I have limited capabilities to debug at the server
level.

Thank you for the help and any insights you may have.

Cheers,

Peter


----------
From: Ben Hood <0x6e...@gmail.com>
Date: Fri, Sep 19, 2008 at 7:12 PM
To: Peter Kieltyka <peter.k...@gmail.com>


Hi Peter,
Sure.
Is this a different issue to the Flash policy issue?
As indicated before, my money is on a bug in the client.
Yes, this does sound strange.
Sure, these are reasonably high priority and will be addressed. I'm
going to try to find time over the weekend.

Ben

----------
From: Peter Kieltyka <peter.k...@gmail.com>
Date: Fri, Sep 19, 2008 at 8:15 PM
To: Ben Hood <0x6e...@gmail.com>


Hi Ben,

Thanks for getting back to me. Yes, this is certainly a different
issue. If you try this in a debugger mode with Flex Builder on Windows
(which doesn't check the policy) it will still cause the problem.
Besides that, I've tried it on Windows in a release build where it
requires the policy file, and it does in fact open a socket connection
at a low level (this is all the policy handles). It breaks down midway
through the handshaking process with RabbitMQ. I'm suspecting that the
bytes Rabbit is expecting are in the wrong order or incorrect
representation that the client is sending. But thats confusing because
Flash should be cross-platform compatible.. perhaps its the byte
order, we should have a function that tests the byte order as Big of
Little of the system and then sends over the bytes in the respective
order. I think so too. I was thinking about trying the Java client to
see if it passes the routingkey with each delivered message. Thank you
for all your efforts. Cohesive is pretty damn lucky to have you on
their team.

>
>
> Ben


----------
From: Ben Hood <0x6e...@gmail.com>
Date: Sat, Sep 20, 2008 at 12:11 AM
To: Peter Kieltyka <peter.k...@gmail.com>


Peter,

On Fri, Sep 19, 2008 at 8:15 PM, Peter Kieltyka
The latest changeset (8d469e3819b94fab245afe52b17471c3e41756a0)
addresses this problem. You should be able to get the routing key from
the Deliver method now.

Ben

----------
From: Ben Hood <0x6e...@gmail.com>
Date: Sat, Sep 20, 2008 at 12:13 AM
To: Peter Kieltyka <peter.k...@gmail.com>


Peter,

On Fri, Sep 19, 2008 at 8:15 PM, Peter Kieltyka
Do you have a test case for this so that I can begin debugging this?

Ben

----------
From: Peter Kieltyka <peter.k...@gmail.com>
Date: Sat, Sep 20, 2008 at 4:02 AM
To: Ben Hood <0x6e...@gmail.com>


Awesome! I'll give this a try and get back to you! Thanks.
----------
From: Peter Kieltyka <peter.k...@gmail.com>
Date: Sat, Sep 20, 2008 at 4:06 AM
To: Ben Hood <0x6e...@gmail.com>


Hi Ben,

I was testing it with a demo application and with trace statements in
the SubscribeClientImpl. For example simply putting trace("deliver");
in the onDeliver method as well as a trace/breakpoint in onCancelOk.
You can use the normal test case an just unsubscribe and publish to
the topic again and you'll see it being delivered.

Thanks!!!

Cheers,

Peter

Reply all
Reply to author
Forward
0 new messages