[jboss-cluster-dev] Re: JBoss Remoting feed back (Was: Re: Apache MINA slides for this year's JavaOne)

David M. Lloyd david.lloyd at redhat.com
Mon Apr 21 10:19:07 EDT 2008


Yeah, I'm hoping for getting it in 5.1 (and EAP 5.0) but we'll see what 
happens.

- DML

On 04/21/2008 09:12 AM, Galder Zamarreno wrote:
> Ok, thanks for the heads up. When are you planning to integrate this in 
> AS? I suppose way after JBoss 5 is released, correct?
> 
> David M. Lloyd wrote:
>> Remoting 3 Client instances are thread-safe.  Also - there is no 
>> notion of an InvokerLocator in Remoting 3.  So that will solve that 
>> problem. :-)
>>
>> Remoting 3 client code doesn't have to concern itself with connection 
>> management in quite the same way.  Basically, a Client is always 
>> connected, until you kill it.
>>
>> - DML
>>
>> On 04/21/2008 06:32 AM, Galder Zamarreno wrote:
>>> Trustin/Ron,
>>>
>>> Currently, org.jboss.remoting.Client does not contain a getLocator() 
>>> method which I suspect is the reason why UnifiedInvokerProxy ends up 
>>> having a reference to org.jboss.remoting.Client and a reference to 
>>> org.jboss.remoting.InvokerLocator.
>>>
>>> In a non clustered environment, the fact that we maintain a Client 
>>> and Locator on the client side is not a big problem, but in a 
>>> clustered environment, for example if using Round Robin, the client 
>>> and the locator keep changing from invocation to invocation.
>>>
>>> Bottom line is that we're having to synchronize on 
>>> UnifiedInvokerHAProxy to make sure that the update of the 
>>> InvokerLocator and Client are atomic. See the following JIRAs for 
>>> issues we had to resolve around this area:
>>>
>>> http://jira.jboss.com/jira/browse/JBAS-4815
>>> http://jira.jboss.com/jira/browse/JBAS-5364
>>>
>>> With the complete rewrite, such problem might not even be relevant, 
>>> but I think it's important that we get it resolved when Remoting 3 is 
>>> designed. Unified invokers should only need to keep a reference to a 
>>> single thread safe client Remoting instance.
>>>
>>> Maybe what we need of Remoting's Client class is not only 
>>> getLocator() but more importantly, an atomic method that is able to 
>>> check whether we're connected somewhere and if not, connect to it, in 
>>> similar fashion to putIfAbsent().
>>>
>>> This is effectively what UnifiedInvokerHAProxy.getClient() is doing 
>>> after selecting the target node from the clustered load balancer. 
>>> IMO, it's Remoting that should be providing with a thread safe API to 
>>> do this.
>>>
>>> Thoughts?
>>>
>>> Cheers,
>>>
>>> Trustin Lee wrote:
>>>> Hi Luc et al,
>>>>
>>>> I am interested in everyone's feed back based on your experience with
>>>> Remoting.  I'd like to hear what was good and bad so we can fix as much
>>>> as possible in Remoting 3, which is a rewrite of Remoting 2 with whole
>>>> new API.
>>>>
>>>> Thanks in advance,
>>>>
>>>> Luc Texier wrote:
>>>>> Sounds very promising Trustin, great job!
>>>>>
>>>>> If you want feedback and suggestions on MINA based on our (painful) 
>>>>> experience with JBoss Remoting, feel free to contact the support 
>>>>> team here in cc.
>>>>>
>>>>> Cheers,
>>>>>
>>>>>
>>>>>
>>>>> On Mon, 14 Apr 2008 15:46:43 +0200, Trustin Lee <tlee at redhat.com> 
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> The attached PDF file is my slides for this year's JavaOne.  You 
>>>>>> might
>>>>>> be interested in this if you want to see what MINA is from examples
>>>>>> instead of vague propaganda. :)
>>>>>>
>>>>>> Any feed back or question is also appreciated.
>>>>>>
>>>>>> Please keep the file confidential until my session starts.  It's on
>>>>>> Friday.  ;)
>>>>>>
>>>>>> Thanks,
>>>>>
>>>>>
>>>>
>>>
> 



More information about the jboss-cluster-dev mailing list