You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by MadasamySankarapandian <ma...@mcruncher.com> on 2014/02/10 09:31:36 UTC

AjaxLazyLoadPanel is block other page render while processing

We have using 6.6.0 in our application. In home page we using
AjaxLazyLoadPanel to load the widgets data, It take long time to  render
the widget. When loading widget,  if click the other page,  the page is not
rendered immediately. After completed AjaxLazyLoadPanel process then only
the clicked page is render.The AjaxLazyLaodPanel is blocking my request.


Hep me to solve this problem?.

Re: AjaxLazyLoadPanel is block other page render while processing

Posted by MadasamySankarapandian <ma...@mcruncher.com>.
I am sorry. I have solved this problem to improve getData() performance.





On Tue, Feb 11, 2014 at 9:36 AM, MadasamySankarapandian <
madasamy@mcruncher.com> wrote:

> Thanks for your suggestion. But problem remains same.
>
> *My html code like *
> .
> .
> *<div wicket:id="label"></div>*
> .
> .
>
> *My java code  like below*
>
> Class FooPanel extends Panel
> {
>     public FooPanel()
>     {
>         .
>         .
>         .
>         add(createLabel());
>         add(createAjaaxTimeBehaviour());
>     }
>
>     private Label createLabel()
>     {
>         label = new Label("label", "Loading....");
>         label.setOutputMarkupId(true);
>         return label;
>     }
>
>     private AbstractAjaxTimerBehavior createAjaxTimeBehaviour()
>     {
>         return new AbstractAjaxTimerBehavior(Duration.seconds(1))
>         {
>             @Override
>             protected void onTimer(AjaxRequestTarget target)
>             {
>                //This method to take few seconds to fetch data
>
>
>
>
>
>
>
>
> * int count = getData();                if (unKnownCount >= 0)
> {                   FooComponent fooComponent = new
> FooComponent(label.getId(), count);
> fooComponent.setOutputMarkupId(true);
> label.replaceWith(fooComponent);
> target.add(fooComponent);                } else {
> target.add(label);                }*
>             }
>         };
>     }
> }
>
> Added this panel in FooPage. If click foo page from any other page the foo
> page render immediately. If click any other page from FooPage it takes few
> seconds to  take render the page.
>
>
>
> On Mon, Feb 10, 2014 at 4:37 PM, Martin Grigorov <mg...@apache.org>wrote:
>
>> Hi,
>>
>> See http://markmail.org/message/4gxbwbhoqojutox6
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>>
>>
>> On Mon, Feb 10, 2014 at 9:31 AM, MadasamySankarapandian <
>> madasamy@mcruncher.com> wrote:
>>
>> > We have using 6.6.0 in our application. In home page we using
>> > AjaxLazyLoadPanel to load the widgets data, It take long time to  render
>> > the widget. When loading widget,  if click the other page,  the page is
>> not
>> > rendered immediately. After completed AjaxLazyLoadPanel process then
>> only
>> > the clicked page is render.The AjaxLazyLaodPanel is blocking my request.
>> >
>> >
>> > Hep me to solve this problem?.
>> >
>>
>
>

Re: AjaxLazyLoadPanel is block other page render while processing

Posted by MadasamySankarapandian <ma...@mcruncher.com>.
Thanks for your suggestion. But problem remains same.

*My html code like *
.
.
*<div wicket:id="label"></div>*
.
.

*My java code  like below*

Class FooPanel extends Panel
{
    public FooPanel()
    {
        .
        .
        .
        add(createLabel());
        add(createAjaaxTimeBehaviour());
    }

    private Label createLabel()
    {
        label = new Label("label", "Loading....");
        label.setOutputMarkupId(true);
        return label;
    }

    private AbstractAjaxTimerBehavior createAjaxTimeBehaviour()
    {
        return new AbstractAjaxTimerBehavior(Duration.seconds(1))
        {
            @Override
            protected void onTimer(AjaxRequestTarget target)
            {
               //This method to take few seconds to fetch data








* int count = getData();                if (unKnownCount >= 0)
{                   FooComponent fooComponent = new
FooComponent(label.getId(), count);
fooComponent.setOutputMarkupId(true);
label.replaceWith(fooComponent);
target.add(fooComponent);                } else {
target.add(label);                }*
            }
        };
    }
}

Added this panel in FooPage. If click foo page from any other page the foo
page render immediately. If click any other page from FooPage it takes few
seconds to  take render the page.



On Mon, Feb 10, 2014 at 4:37 PM, Martin Grigorov <mg...@apache.org>wrote:

> Hi,
>
> See http://markmail.org/message/4gxbwbhoqojutox6
>
> Martin Grigorov
> Wicket Training and Consulting
>
>
> On Mon, Feb 10, 2014 at 9:31 AM, MadasamySankarapandian <
> madasamy@mcruncher.com> wrote:
>
> > We have using 6.6.0 in our application. In home page we using
> > AjaxLazyLoadPanel to load the widgets data, It take long time to  render
> > the widget. When loading widget,  if click the other page,  the page is
> not
> > rendered immediately. After completed AjaxLazyLoadPanel process then only
> > the clicked page is render.The AjaxLazyLaodPanel is blocking my request.
> >
> >
> > Hep me to solve this problem?.
> >
>

Re: AjaxLazyLoadPanel is block other page render while processing

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

See http://markmail.org/message/4gxbwbhoqojutox6

Martin Grigorov
Wicket Training and Consulting


On Mon, Feb 10, 2014 at 9:31 AM, MadasamySankarapandian <
madasamy@mcruncher.com> wrote:

> We have using 6.6.0 in our application. In home page we using
> AjaxLazyLoadPanel to load the widgets data, It take long time to  render
> the widget. When loading widget,  if click the other page,  the page is not
> rendered immediately. After completed AjaxLazyLoadPanel process then only
> the clicked page is render.The AjaxLazyLaodPanel is blocking my request.
>
>
> Hep me to solve this problem?.
>