IMO the problem is the design of XWikiDavServlet.
It shouldn't contain any field.

For example why not use the component manager to load a component to  
perform the handling of DAV requests?

The CM would be retrieved from the servlet context.

Thanks
-Vincent

On Oct 20, 2009, at 2:36 PM, Asiri Rathnayake wrote:

> Hi,
>
>
> ok that's better indeed. The reason is that according to the spec a
>> Servlet can be serialized (saved on disk) if the memory becomes low
>> and thus must be able to be loaded back into memory at a later point
>> (the same need for load-balancing).
>>
>> However your change has introduced another problem: transient means
>> the field will not be saved when the servlet is serialized. Thus when
>> it's deserialized these fields will be null and the code will fail...
>>
>> Whereas before the servlet would have failed on serialization, it'll
>> now fail on deserialization...
>>
>> Note: Deserialization will not call the constructor.
>>
>
> I was hoping upon de serialization it will call init() where i  
> initialize
> these variables. But I can't find a reference that says so (yet).
>
>
>
>> Solution: either make the field objects serializable or capture
>> deserialization to set up the transient field values. Note that this
>> last solution may potentially cause problems with threading so this
>> might need to be synchronized I think. The best solution is to make
>> the field Objects Serializable IMO.
>>
>
> One instance variable used is provided by jackrabbit library which  
> is not
> serializable. I can do a custom serialization or,
>
> I can create these instance variable for each request (get***) which  
> is a
> waste.
>
> Looking around to see if there is another way.
>
> Thanks.
>
> - Asiri
>
>
>>
>> WDYT?
>>
>> Thanks
>> -Vincent
>>
>>
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to