cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Naumov <igornau...@hotmail.com>
Subject Re: web3 block - lifecycle issues and class design
Date Sat, 31 Mar 2007 01:43:58 GMT
Joerg Heinicke wrote:
> Oh, somebody is using it :)
Oh, good, somebody is not only working on it but also checking the mail 
list :-)
>> In particular, method Web3DataSourceSelectorImpl.dispose() destroys 
>> (through =null ) the manager and lock properties.
>
> Nulling the lock is indeed wrong, especially since dispose() is called 
> for every instance (though we should have only one due to ThreadSafe). 
> But I can't see why nulling the manager should cause any problem. It 
> should be reinjected via service() on next access to the component.
>

I think you are right about nulling the manager. I probably got confused 
while trying to fix it.
Basically I needed to reset all the connection pools and one way I found 
was to dispose the selector (restarting cocoon is just the simplest way 
to reproduce the issue).
But I had to comment out nulling the lock (and manager for some reason).
It turns out that nulling the manager is indeed harmless.
Thanks for fixing it!

Now since I found somebody to complain to :-), here are a couple of 
other things.

Method Web3ClientImpl.initClient sets a different repository for 
essentially every RFC call (or am I missing something?)
Wouldn't it be a performance drag? I would imagine a more effective way 
would be to use the pool name (since the pool points to the same system 
anyway)?

Default streamer DefaultWeb3StreamerImpl seems to trim white space from 
the string field values.
I think I saw some reasoning behind it in the SVN comments, but I am 
still not sure if this is entirely correct.
While it's an SAP habit to discard the trailing whitespace (at least 
internally), the leading spaces are still preserved.
So trim() is not completely adequate for the task.
Any comments on that?

Mime
View raw message