Thanks Jim.

I have had a discussion with Jeremy on this as well. Hopefully I should
have something done by the weekend.

M 

-----Original Message-----
From: Jim Marino [mailto:[EMAIL PROTECTED] 
Sent: 07 July 2006 18:09
To: tuscany-dev@ws.apache.org
Subject: Re: Support for callbacks

Certainly. Feel free to jump in on anything you would like.  Input on
callbacks would be welcome as well.

Jim


On Jul 7, 2006, at 2:45 AM, Meeraj Kunnumpurath wrote:

> Jim,
>
> Are you ok for me to start looking at the work manager implementation?
> Once I get a better understanding around the requirements of 
> callbacks, I can try to give some input on that as well.
>
> Ta
> Meeraj
>
> -----Original Message-----
> From: Meeraj Kunnumpurath [mailto:[EMAIL PROTECTED]
> Sent: 06 July 2006 16:39
> To: tuscany-dev@ws.apache.org
> Subject: RE: Support for callbacks
>
> I have got an implementation based on Doug Lea's concurrent utilities 
> (JDK 1.4), I think this can be ported to use Java 5 concurrent 
> libraries. If you don't mind, I can start looking at this.
>
> -----Original Message-----
> From: Jim Marino [mailto:[EMAIL PROTECTED]
> Sent: 06 July 2006 16:12
> To: tuscany-dev@ws.apache.org
> Subject: Re: Support for callbacks
>
>
> On Jul 6, 2006, at 8:04 AM, Meeraj Kunnumpurath wrote:
>
>>>> Good point. I think a similar mechanism may be o.k. as long as we
>> clean up properly when the request ends or the thread is reclaimed 
>> (e.g.
>> in case of failure where the callback never hapens). Perhaps we could

>> use the WorkArea API for this? Were you thinking of something in 
>> particular?
>>
>> Have you looked at any commonj work manager (JSR-237) 
>> implementations?
>>
> Yep that's what I was thinking of with the WorkArea stuff. Right now 
> we reused Geronimo's WorkManager impl for the async dispatching but it

> drags in a lot of dependencies for what it does. I was thinking we 
> could just write a thin implementation of WorkManager using the JDK 5 
> concurrency libraries and eliminate the dependencies. When we run in a

> managed environment, we could swap implementations since the 
> WorkManager is set up as a system service.
>
> I haven't had time to look at doing this so if anyone is interested 
> (as well as joining in on the callback work), it would be great.
>
> Jim
>
>> M
>>
>> -----Original Message-----
>> From: Jim Marino [mailto:[EMAIL PROTECTED]
>> Sent: 06 July 2006 16:01
>> To: tuscany-dev@ws.apache.org
>> Subject: Re: Support for callbacks
>>
>> Hi Ignacio,
>>
>> Sorry about the delay...Comments inline. I've also added some 
>> scenarios to the wiki so feel free to add your thoughts to them.
>>
>> Jim
>>
>>
>> On Jul 5, 2006, at 2:07 PM, Ignacio Silva-Lepe wrote:
>>
>>> Hi Jim,
>>>
>>> Sorry about the disconnect, I was out Monday and yesterday. I'll be 
>>> sure to attend the IRC chat tomorrow. In the meantime, some more 
>>> quick
>>
>>> comments.
>>>
>>> ----- Original Message ----- <snip/>
>>>
>>>>> If I understand correctly, would a system service transport use a 
>>>>> low level communication mechanism, like a socket for instance?
>>>>> This
>
>>>>> does not  seem like an appropriate approach for a local scenario,
>>>> Right, for the local scenario, I was thinking the callback instance

>>>> would be put on the thread local context and the proxy would access

>>>> it from there as opposed to going out over a socket and back in 
>>>> through a listener. Basically, it would be an optimization of the 
>>>> remote case. I think we can further optimize things depending on 
>>>> scopes, e.g. if the callback scope is "module", we could possibly 
>>>> avoid threadlocal storage and have the proxy hold on to an instance

>>>> directly.
>>>
>>> Pointing at the callback instance directly from the proxy would 
>>> eliminate invocation chains and the ability to add interceptors to 
>>> them, wouldn't it?
>>
>> Yea the proxy should probably point back to the Component and not the

>> instance directly unless there is an optimized case where no 
>> interceptors were present. Once the proxy points to Component, it can

>> call getInboundWire(String serviceName) which will return the 
>> invocation chain that will dispatch to the correct instance. In the 
>> case of an AtomicComponent, when the end of the chain is reached, the

>> target invoker will delegate to the scope container which will return

>> the right instance.
>>
>>
>>> Also, I'm not sure using a thread local in the core is a good idea 
>>> if
>
>>> an intention is to allow the core to be embeddable in, for instance,

>>> a
>>
>>> managed environment, as thread local does not necessarily mix well 
>>> with thread pools.
>>>
>> Good point. I think a similar mechanism may be o.k. as long as we 
>> clean up properly when the request ends or the thread is reclaimed 
>> (e.g. in case of failure where the callback never hapens). Perhaps we

>> could use the WorkArea API for this? Were you thinking of something 
>> in
>
>> particular?
>>
>> Jim
>>
>>> <snip/>
>>>
>>>
>>> --------------------------------------------------------------------
>>> -
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>> This message has been checked for all email viruses by MessageLabs.
>>
>>
>>
>>
>> *****************************************************
>>
>>     You can find us at www.voca.com
>>
>> *****************************************************
>> This communication is confidential and intended for the exclusive use

>> of the addressee only. You should not disclose its contents to any 
>> other person.
>> If you are not the intended recipient please notify the sender named 
>> above immediately.
>>
>> Registered in England, No 1023742,
>> Registered Office: Voca Limited
>> Drake House, Three Rivers Court,
>> Homestead Road, Rickmansworth,
>> Hertfordshire, WD3 1FX
>>
>>
>> This message has been checked for all email viruses by MessageLabs.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> This message has been checked for all email viruses by MessageLabs.
>
>
>
> This message has been checked for all email viruses by MessageLabs.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> This message has been checked for all email viruses by MessageLabs.
>
>
>
> This message has been checked for all email viruses by MessageLabs.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


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


This message has been checked for all email viruses by MessageLabs.



This message has been checked for all email viruses by MessageLabs.

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

Reply via email to