So you're putting an object into your session just because on of its public
methods returns a not-serializable object?


TH Lim wrote:
> 
> No, linkedlistmultimap  is serializable. only $1 is not. If you look at
> the snippet the $1 class is created on the fly when
> linkedlistmultimap.get(...) is invoked.
> 
> 
> Michael Sparer wrote:
>> 
>> but if you save the linkedlistmultimap (which isn't serializable, right?)
>> in the session you'll run into problems as well ... at the latest in a
>> clustered environment ....
>> 
>> 
>> 
>> TH Lim wrote:
>>> 
>>> No, I didn't save the provider in the session. Just the
>>> LinkedListMultimap instance. As Martijn has pointed it out with the code
>>> snippet why $1 is not serializable, the only way is to keep the
>>> LinkedListMultimap  and not the List.
>>> 
>>> Wicket is pretty good. It points to the exact field where the problem
>>> was.
>>> 
>>> Thanks guys. 
>>> 
>>> 
>>> Michael Sparer wrote:
>>>> 
>>>> you save the provider to the session? that's kind of an anti-pattern as
>>>> it gets serialized there anyway (at least in a clustered environment).
>>>> you should rather boil down to the field that causes the
>>>> not-serializable exception, wicket tells you exactly which field it is
>>>> anyway. or provide us some code to help you. but if you inherit from
>>>> sortabledataprovider or you implement IDataProvider it shouldn't be too
>>>> difficult to find out which field it is ;-)
>>>> 
>>>> regards,
>>>> Michael
>>>> 
>>>> TH Lim wrote:
>>>>> 
>>>>> I tried another method. Instead of passing the reference to my
>>>>> IDataProvider implementation, MyDataProvider, I recode MyDataProvider
>>>>> to get it from the MySession which extends Wicket Session. I don't any
>>>>> difference here but it works. I still not sure what caused
>>>>> MyDataProvider to fail to persist because of the List instance it
>>>>> contained.  
>>>>> 
>>>>> Btw, 
>>>>> http://google-collections.googlecode.com/svn-history/r5/trunk/src/com/google/common/collect/LinkedListMultimap.java
>>>>> LinkedListMultimap  uses the inner class Node which is also
>>>>> Serializable.
>>>>> 
>>>>> 
>>>>> Michael Sparer wrote:
>>>>>> 
>>>>>> The Serlializable-check isn't sufficient. you can mark any class
>>>>>> serializable if you want. what really counts is that all fields of
>>>>>> the class are serializable, you should have a look at them ...
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 


-----
Michael Sparer
http://talk-on-tech.blogspot.com
-- 
View this message in context: 
http://www.nabble.com/Unable-to-serialize-class-com.google.common.collect.LinkedListMultimap%241-tp19027449p19034316.html
Sent from the Wicket - User mailing list archive at Nabble.com.


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

Reply via email to