I think you are dead on there, Ben.

So, what is the solution? If it were me, I'd ditch the lazy loading,
but I am a session abuser.

;-)

Larry


On 1/2/06, Ben Munat <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I'm getting the NotSerializableException on 
> com.ibatis....loader.LazyResultLoader when I restart tomcat and it tries to
> write/read the serialized http session. The only discussion of this I've 
> found in the mailing list is this message
> Clinton posted back in November:
>
> "Unfortunately you can't mix lazy loading with serializable caches....
>
> This is not an iBATIS problem, but more of a CGLIB and/or Java problem.  I'm 
> sure we could find some crazy means of
> managing this, but I'd rather not.  The real solution is to tell Sun that we 
> want dynamic proxies for classes, just like
> we have for interfaces....and we want them to be serializable."
>
> So, does "serializable cache" include the http session? I'm not trying to do 
> anything fancy, but I wouldn't mind being
> able to leave the lazy loading turned on either.
>
> Also, to make sure I'm understanding this... the reason why an Ibatis class 
> is being dragged into the serialization in
> the first place is because lazy loading uses dynamic proxies, right? So my 
> domain objects are being wrapped with this
> proxy that catches a call for a child and invokes the query on the Ibatis 
> code to get the necessary data? And then, when
>   tomcat goes to serialize the domain object, it's actually getting the proxy 
> and so it tries to serialize the ibatis
> class.... right?
>
> If so, then I suppose that I either have to somehow not put my domain objects 
> in the session or turn off lazy loading.
> Am I on track here?
>
> Ben
>
>
>

Reply via email to