Hi Chuck,
there are 30 different formatters (all NS...) in the application and more than
500 WOComponents. if this is not a potential deadlock case, I'll leave them
there... Too lazy!
I'll try to investigate the deadlocks properly, the problem is that they're
very rare and almost impossible to reproduce in our test environment.
Thanks,
Matteo
On 05/apr/2011, at 20.17, Chuck Hill wrote:
> Hi Matteo,
>
> I don't think that will cause a deadlock. It will cause some incorrectly
> formatted input / output. The easiest fix is to move this from Application
> to Session and adjust the bindings.
>
> As for the lockups, you really need to get thread dumps to assess those.
> jstack is an easy way to do this.
>
>
> Chuck
>
>
> On Apr 5, 2011, at 11:12 AM, Matteo Centro wrote:
>
>> Hi Chuck,
>>
>> could you elaborate more on the shared formatters thing?
>>
>>> Don't Do Stupid Things :-) Which boils down to don't share objects that
>>> are not thread-safe, or writable data, at the global level unless you have
>>> appropriate protection. Global being either static members or instance
>>> variables on your application. Shared, non-thread safe formatters are a
>>> common mistake.
>>
>> we inherited a project that has random (but infrequent) lockups and I found
>> that in the Application.java
>>
>> first there is an instance variable
>>
>> private NSNumberFormatter millionsFormatter;
>>
>> then a lazy initialization in the accessor method:
>>
>> public NSNumberFormatter millionsFormatter() {
>> if (millionsFormatter ==null) {
>> millionsFormatter = new NSNumberFormatter();
>> millionsFormatter.setPattern("###,##0.00");
>> millionsFormatter.setDecimalSeparator(",");
>> millionsFormatter.setThousandSeparator(".");
>> }
>> return millionsFormatter;
>> }
>>
>> Could this approach be one of the causes of the lockups? The app runs in
>> multithreaded mode and there are tons of components with WOStrings bound to
>> this formatter...
>>
>> Thanks,
>>
>>
>> Matteo
>>
>
> --
> Chuck Hill Senior Consultant / VP Development
>
> Practical WebObjects - for developers who want to increase their overall
> knowledge of WebObjects or who are trying to solve specific problems.
> http://www.global-village.net/products/practical_webobjects
>
>
>
>
>
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]