You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by fachhoch <fa...@gmail.com> on 2011/04/03 15:47:54 UTC

fter 1 minute the Pagemap null is still locked by: Thread[[ACTIVE]

we have a complex search  screen , right now the query behind the search  is
not tuned , sometimes for different combinations search takes very long time
and I get 

[raw]
Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute the
Pagemap null is still locked by: Thread[[ACTIVE] ExecuteThread: '3' for
queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads], giving up
trying to get the page for path: 2
[raw/]  

once I get this error then   all links becomes non functional ,ie I click on
the link nothing happens all my links are ajax links .only way to get rid of
this error is kill the session ie kill the browser and open new browser  .
 

--
View this message in context: http://apache-wicket.1842946.n4.nabble.com/fter-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3423610p3423610.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: fter 1 minute the Pagemap null is still locked by: Thread[[ACTIVE]

Posted by Hans Lesmeister 2 <ha...@lessy-software.de>.
You can take a look at DataTable.onPageChanged()

-----
-- 
Regards, 
Hans 

http://cantaa.de 

--
View this message in context: http://apache-wicket.1842946.n4.nabble.com/fter-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3423610p3428429.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: fter 1 minute the Pagemap null is still locked by: Thread[[ACTIVE]

Posted by fachhoch <fa...@gmail.com>.
In other words

I have a panel called OrderPanel  this has a 
WebMarkupContainer    ajaxSpinner,
AjaxFallbackDefaultDataTable  orderConfirmation,

AjaxSelfUpdatingTimerBehavior  updateBehavior,

In the constructor of the panel
I instantiate all the above components and call set visible false on 
orderConfirmation,
here is the code

  public OrderPanel(String id){
          super(id);

          add(ajaxSpinner = new WebMarkupContainer("ajaxSpinner"));
          add(orderConfirmation= new
AjaxFallbackDefaultDataTable("orderConfirmation",.............));
          orderConfirmation.setVisible(false);

          add(updateBehavior = new AjaxSelfUpdatingTimerBehavior(Duration
                .seconds(5));
		  // updates my model 	
          new OrderProcessThread(getSession()).start();
     }


I override the method  onBeforeRender()  here I check the status of thread
which I started in the  constructor .
becasue of  AjaxSelfUpdatingTimerBehavior with a duration of 5 seconds the
onBeforeRender is called  every 5 seconds.

here is the code for onBeforeRender

	 @Override
     protected void onBeforeRender() {
        super.onBeforeRender();

          if(((MySession)getSession()).isOrderProcessComplete(true)){
               // This means our worker thread has finished and updated the
session.
               // Now, we can update our view states to show the order
confirmation.
               ajaxSpinner.setVisible(false);
               orderConfirmation.setVisible(true);

               // update behavior
               updateBehavior.stop();
          }
     }




till here I am fine, I have no problems implementing   time consuming
selects .  

In case of   AjaxFallbackDefaultDataTable  It has sortable Headers  and
pagination links, when user 
clicks on any header or pagination link  the code in constructor is not
called so my thread is not started , so this time the method from
dataprovider is  called which is

 

 public Iterator iterator(int first, int count)

my actual implementation of this method   is it just returns the model which
is updated by  OrderProcessThread.

is there any method which I can override for    AjaxFallbackDefaultDataTable   
when   user clicks on sortable header or paginations links so that I can
restart the thread and the timer  ?
 

 



--
View this message in context: http://apache-wicket.1842946.n4.nabble.com/fter-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3423610p3428191.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: fter 1 minute the Pagemap null is still locked by: Thread[[ACTIVE]

Posted by fachhoch <fa...@gmail.com>.
please suggest me in case of datatable which uses   sortabledataprovider how 
can I  incorporate futuretask ?

please advice me.

for my thought I will have a panel which will hide its  datatable initially
and start a thread (futuretask) for loading data and will also have   
AjaxSelfUpdatingTimerBehavior   ,this behaviour will check every 5 seconds
to see the thread completed its job if so I will show the datatable and stop
the timer  , something like explained in this 

http://www.brimllc.com/2010/09/wicket-ajax-timer-for-legthy-operations-using-ajaxselfupdatingtimerbehavior/

but in case of datatable with sortable headers and pagination , when user
clicks on next page  (pagination )link or    a sortable header  , how to
restart the timer and hide datatable  till thread completes  loading data?


--
View this message in context: http://apache-wicket.1842946.n4.nabble.com/fter-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3423610p3426577.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: fter 1 minute the Pagemap null is still locked by: Thread[[ACTIVE]

Posted by "robert.mcguinness" <ro...@gmail.com>.
http://apache-wicket.1842946.n4.nabble.com/After-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3047890p3049862.html

--
View this message in context: http://apache-wicket.1842946.n4.nabble.com/fter-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3423610p3425308.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: fter 1 minute the Pagemap null is still locked by: Thread[[ACTIVE]

Posted by fachhoch <fa...@gmail.com>.
Thanks for the reply , I will use FutureTask  and can use  

future.isDone()


to check if the search is complete  and 

future.get()

to get the results.
In my case I use  AjaxFallbackDefaultDataTable  this uses a
SortableDataProvider.

Please advice me how to integrate future task and SortableDataProvider ?


--
View this message in context: http://apache-wicket.1842946.n4.nabble.com/fter-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3423610p3425295.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: fter 1 minute the Pagemap null is still locked by: Thread[[ACTIVE]

Posted by Jeremy Thomerson <je...@wickettraining.com>.
You should use some asynchronous querying.  In other words, you search is
submitted to a background process and the Wicket request completes to some
intermediary "please wait while we do your search" page (like all the big
airline middlemen do)....  It polls the background service to see if it's
complete, and when it is, continues on.

You don't want page requests that literally take minutes.

-- 
Jeremy Thomerson
http://wickettraining.com
*Need a CMS for Wicket?  Use Brix! http://brixcms.org*



On Sun, Apr 3, 2011 at 9:47 AM, fachhoch <fa...@gmail.com> wrote:

> we have a complex search  screen , right now the query behind the search
>  is
> not tuned , sometimes for different combinations search takes very long
> time
> and I get
>
> [raw]
> Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute the
> Pagemap null is still locked by: Thread[[ACTIVE] ExecuteThread: '3' for
> queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads], giving up
> trying to get the page for path: 2
> [raw/]
>
> once I get this error then   all links becomes non functional ,ie I click
> on
> the link nothing happens all my links are ajax links .only way to get rid
> of
> this error is kill the session ie kill the browser and open new browser  .
>
>
> --
> View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/fter-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-tp3423610p3423610.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>