[ 
https://issues.apache.org/jira/browse/WICKET-2370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12731336#action_12731336
 ] 

Johan Compagner commented on WICKET-2370:
-----------------------------------------

i dont think we are going to change that behavior

because if we dont say attached = true before the load but after
then if an exception is thrown we wil not call detach on it
But we dont know what load does. Maybe load initalized 10 values and then on 
the last line it will generate an exception
So even if an exception is thrown we really should call onDetach() again to 
make sure that really nothing hangs.

Your ondetach must just be able to handle this state.

> LoadableDetachableModel sets attached true even when exception occurs during 
> load()
> -----------------------------------------------------------------------------------
>
>                 Key: WICKET-2370
>                 URL: https://issues.apache.org/jira/browse/WICKET-2370
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4-RC7
>            Reporter: Antony Stubbs
>
> LoadableDetachableModel sets attached true even when exception occurs during 
> load(). We rely on exceptions being thrown / caught for our caching system, 
> which in this case sits behind our LDM. Problem occurs on 2nd load attempt 
> (where cache would now be populated), LDM returns null because the attached 
> flag is still true.
> <code>
>       public T getObject()
>       {
>               if (!attached)
>               {
>                       attached = true;
>                       transientModelObject = load();
> </code>
> Locally, I will solve this for us by overriding getObject in a custom LDM 
> which will either reorder the calls i.e.
>                       transientModelObject = load();
>                       attached = true;
> or, catch the caching exception and set attached to false.
> I admit this is debatable behaviour though. Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to