Hi Dasarath,

----- Original Message ----- From: "Dasarath Weeratunge" <[EMAIL PROTECTED]>
To: "Andrea Di Vincenzo" <[EMAIL PROTECTED]>
Cc: <[email protected]>
Sent: Wednesday, November 23, 2005 6:28 AM
Subject: Re: kandula basics


Quoting Andrea Di Vincenzo <[EMAIL PROTECTED]>:

Hi Dasarath,

Of course I'm interested in obtaining a copy of the EWS documentation! It
would be useful for my master thesis.

OK.

Thilina, could you please request a copy of the EWS project from the dept...


Actually I'm reading the source code of Kandula. I find it very interesting.

There's only one thing that is not very clear to me. I refer to the scenario

of Transaction Inflow. Let's say that an application invokes two different
web service operations hosted by the same remote domain. So two messages
arrive at this domain containing the same context.

On the first invocation, after the context has been imported and a local
branch has been created, the TransactionHandler asks the transaction manager

to associate the new local transaction with the current thread. Right?

Correct.


On the second invocation a local transaction corresponding to the context is

detected, so there's no need to create a new local transaction. But for the work of the ws operation invoked to be done in the scope of the same local transaction already existing, the thread serving this second invocation also

should be associated with the local transaction. Right?

Correct.


If I didn't make mistakes till now, my question is:
is the underlying Transaction Manager capable of managing multiple threads
working in the scope of the same transaction?

This has not been tested unfortunately.

Still if it ever becomes a problem we can always create a new transaction for the second (or any subsequent) invocation(s) if the previous one is being used by another thread. Since the two local transactions are two branches of one global transaction the end result should be the same. If one of the local tx
were to rollback the other will too when the global tx is terminated, etc.
However, this is more to do with the actual implementation of the transaction
manager than the concept.

I have found an'interesting discussion, involving Mark Little and JOTM developers, about support for multiple threads running in the scope of the same transaction in the JOTM Mail Archive:

http://mail-archive.objectweb.org/jotm/2003-05/msg00041.html and subsequent posts

Anyway, for the purpose of my master thesis, I'm assuming that a new branch is created for each transactional invocation served by a different thread.

I heard about Mark Little because he is an author of: "Java Transaction Processing, Design and Implementation", Prentice Hall. I've read this book to introduce myself to transactions.

We may also need to consider the fact that web
services are stateless here.

What do you exactly mean here?
It's not always clear to me what "stateless" mean.

Best Regards
Andrea

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to