Re: another amqp patches

0 views
Skip to first unread message

Ben Hood

unread,
Jul 7, 2008, 6:23:54 PM7/7/08
to Alexey Slynko, as3-am...@googlegroups.com
Hi Alexey,

On Mon, Jul 7, 2008 at 3:26 PM, Alexey Slynko <sly...@brandproduction.ru> wrote:
> Hi, Ben
>
> i've tried to adopt your code for amqp 0-10 spec. So, there is a small
> patch:

Thanks for the patch! I have recently moved the repo over to Github to
allow easier forking of the code base, you may want to check it out
because you can fork publicly:

http://github.com/0x6e6562/as3-amqp/

> 1) There are many - in variable and method names - it replaced by _
> 2) Constant description has doc elements - write it to the result of
> template substituion
> 3) There is a large problem of major and minor version. in 0-8 spec they are
> reverted. I compared it with 0-9 and 0-10 spec. I think, that it must
> corrected in your repository, as it was done in 0-9 and 0-10 specs.

I'll have to review the patch and also get some background on 0-10 or
whether 0-9 SP1 is going to be promoted by the working group.

I guess what is of most interest is which broker you're connecting to,
qpid I presume for 0-10 or openamq for 0-9?

HTH,

Ben

Ben Hood

unread,
Jul 8, 2008, 10:37:16 AM7/8/08
to Alexey Slynko, as3-am...@googlegroups.com
Alexey,

On Tue, Jul 8, 2008 at 10:56 AM, Alexey Slynko
<sly...@brandproduction.ru> wrote:
>> I have recently moved the repo over to Github to
>> allow easier forking of the code base, you may want to check it out
>> because you can fork publicly:
>>
>> http://github.com/0x6e6562/as3-amqp/
>>
>

> Ok, i've got it

So are you fine to put your patch into github?

> We use redhat mrg - qpid with redhat realtime patches. It's doesn't work
> with amqp version 0.8

Yes qpid/mrg is using various versions of the spec surrounding 0-10,
which I am not an expert about their compatibility.

The working group is pushing for a 1.0 version of the spec to come out
some time later on in the year to harmonize all of the different
versions, but until then

What exact combination of qpid/mrg are you actually using?

And how has the patched version been running against qpid? My initial
thoughts would be that you would find the some of the concepts in 0-10
quite different to those of 0-8 to which the library has been coded
against, e.g. persistent sessions. Maybe it's case of the
functionality that you are using is a subset of the new functionality
available in 0-10.

> So, another qestions - I can't find implementation of LongString type except
> interface. Is it right?

Check out org.amqp.impl.ByteArrayLongString

BTW I'm cc'ing this conversion to the list (as3-am...@googlegroups.com).

HTH,

Ben

Ben Hood

unread,
Jul 8, 2008, 2:18:43 PM7/8/08
to Alexey Slynko, as3-am...@googlegroups.com
Alexey,

On Tue, Jul 8, 2008 at 5:48 PM, Alexey Slynko <sly...@brandproduction.ru> wrote:
>> What exact combination of qpid/mrg are you actually using?

> Latest mrg running on CentOS

I'm going to have to look in to what features they've implemented in
this, so I cannot give an immediate answer.

>> And how has the patched version been running against qpid?
>

> Still doesn't work - connection closes after initial handshake

This doesn't surprise me, I should imagine the latest version of
qpid/mrg is using the session concept in 0-10, so I should think that
the handshake is quite different. There are a couple of things to
consider here:

1. Have you read this article about writing an AMQP client:
http://hopper.squarespace.com/blog/2008/6/21/build-your-own-amqp-client.html;
2. What sort of abstraction are you using with your application code.
For example, the latest version of the as3 client contains some
abstract patterns for connecting and sending messages, which should
isolate application code from any changes in the lower layers of the
protocol;
3. I think that the problem you are running into is related to the
0-10 execution model, as opposed to the framing layer, which is
generated from the spec. So in order to get this going, you are going
to have a firm idea of how the 0-10 AMQP execution model works (this
notion is described in the article I mentioned above).
4. Are there any client or server-side diagnostics that you can share?

> I've got 0-10 spec from qpid project. But codegen still not fully adopted
> for it.

That's going to be the start. After that you will need to adapt the
model (please see the comments on layering in the article).

HTH,

Ben

Ben Hood

unread,
Jul 13, 2008, 5:45:41 PM7/13/08
to Alexey Slynko, as3-am...@googlegroups.com
Alexey,

On Tue, Jul 8, 2008 at 1:18 PM, Ben Hood <0x6e...@gmail.com> wrote:
> On Tue, Jul 8, 2008 at 5:48 PM, Alexey Slynko <sly...@brandproduction.ru> wrote:
>>> What exact combination of qpid/mrg are you actually using?
>> Latest mrg running on CentOS
>
> I'm going to have to look in to what features they've implemented in
> this, so I cannot give an immediate answer.

As promised, I've had a deeper look into the 0-10 spec and it's
prospects for adoption in a 1.0 RC candidate.

Please don't regard my comments as authoritative, I am only giving
advice to the best of my knowledge and judgement.

Firstly, 0-10 is as official as 0-8 and 0-9.

Secondly, it appears to have been signed off prematurely in
unfortuneate circumstances, but QPid had already commited to
implementing it.

Whilst it contains the concepts that will help AMQP acheive the
business goals of a 1.0 version, the actual specification requires a
lot of review, refinement and simplification in general.

Hence it would be inprudent to invest too much time in becoming
compliant to this specification, which is why the OpenAMQ and RabbitMQ
are waiting for an amended version of the spec.

It is possible that this may diverge not insignificantly from the
current 0-10 document.

I just wanted to let you for any efforts you may direct to porting the
AS3 library to 0-10.

Because of my viewpoint, I will be able to answer questions about the
approach of the library in general, but I'm still waiting for a
revised spec before channeling any effort into porting the library.

HTH,

Ben

Reply all
Reply to author
Forward
0 new messages