hello Martin

Thank you for the update!

Best regards,
Ihor Parashynets

On 6 March 2017 at 12:40, Martin Grigorov <martin.grigo...@gmail.com> wrote:

> https://issues.apache.org/jira/browse/WICKET-6334
>
> On Fri, Mar 3, 2017 at 10:08 PM, Martin Grigorov <
> martin.grigo...@gmail.com>
> wrote:
>
> > Hi,
> >
> >
> >
> > On Mar 3, 2017 2:38 PM, "Ihor Parashynets" <ihor...@gmail.com> wrote:
> >
> > Hi all
> >
> > I need some help/clarification on NotDetachedModelChecker. I've checked
> > markmail.org and found this one http://markmail.org/search/?q=
> > NotDetachedModelChecker#query:NotDetachedModelChecker%20list
> > %3Aorg.apache.wicket.users+page:1+mid:i77wqsp7hpbwgtyp+state:results
> > which is close but not the same what I'm facing at.
> >
> > Long story short:
> > 1. I have a Wicket Session, which has LoadableDetachableModel property.
> > 2. This property is being detached on public void detach() method.
> > 3. I have a Wicket test app that adds some additional config for tests'
> > purpose", like this
> >
> > public class TestWebApplication extends MyWebApplication {
> >
> >     @Override
> >     protected void init() {
> >         super.init();
> >
> >         //for test's purpose added some extended configuration
> >         getRequestLoggerSettings().setRecordSessionSize(true);
> >         getRequestLoggerSettings().setRequestLoggerEnabled(true);
> >         getRequestLoggerSettings().setRequestsWindowSize(10);
> >
> >         getFrameworkSettings().setSerializer(new 
> > JavaSerializer(getApplicationKey())
> {
> >             @Override
> >             protected ObjectOutputStream newObjectOutputStream(OutputStream
> out) throws IOException {
> >                 return new CheckingObjectOutputStream(out, new
> NotDetachedModelChecker());
> >             }
> >         });
> >     }
> > }
> >
> > 4. I run the test and it passes but in log file I can see an error
> > message, that the model in Session is not detached. Even though I know
> that
> > it's detached properly.
> >
> > I checked the error stack trace and figured out that if there is a logger
> > enabled (getRequestLoggerSettings().setRequestLoggerEnabled(true)) in
> > combination with NotDetachedModelChecker then in AbstractRequestLogger#
> > requestTime(long timeTaken) there is a serialization of session (
> > sizeInBytes = session.getSizeInBytes()) to check the session size. But it
> > will trigger a chain, where session will be validated for detached models
> > (instance of LoadableDetachabelModel), which is to early (actually at
> > RequestCycle#onDetach() --> listeners#onDetach(this))  such as Session
> will
> > be detach only one step later.
> >
> > I've attached a simple maven project (I was trying to mimic our big real
> > Wicket project) to show the use-case. It's enough to run:  mvn
> > -Dtest=TestNonDetachableModels test to see the error message.
> >
> > And now is the question: do I use it wrong (I mean
> NotDetachedModelChecker)
> > or is there another explanation for such error?
> >
> >
> > It seems Wicket doesn't detach the Session before calculating its size
> and
> > this leads to the error log..
> > I don't have access to the code at the moment but I know that Wicket
> > detaches the Components before calculating their size.
> > I'll be able to say more at Monday.
> >
> >
> > Thank you in advance.
> >
> > --
> > Best regards,
> > Ihor Parashynets
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> >
>



-- 
Best regards,
Ihor Parashynets

Reply via email to