I've been working with the proton-j engine recently and want to clarify the
threading model.

The Proton web site [1] says Proton "is architected to be usable with any
threading model as well as with non threaded applications".

Turning to the implementation, I've heard that the proton-j engine is
intended to be used by one thread at once.  This sounds reasonable, but I
want to clarify what "one thread at once" really means in this context.

I believe we should say something like this in the proton-j documentation:

"Proton engine classes are not synchronized.  If multiple threads access a
Proton engine object concurrently, external synchronization must be used."

Ditto for the Message package.

Any improvements, objections etc?

Out of interest, what is the threading model of Messenger?  And how about
proton-c?


Thanks,
Phil

[1] http://qpid.apache.org/proton/

Reply via email to